Function at 0x48cd10
Capabilities:
Authenticate hmac

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x7c
mov dword [esp - 0x40], edi
nop
mov dword [esp - 4], 0x20ed37ea
add dword [esp - 4], 0x4a8040b9
mov ebx, ebx
xor dword [esp - 4], 0x7703ed21
add dword [esp - 4], 0x4885fc53
sub dword [esp - 4], 0x2edb0b6b
sub dword [esp - 4], 0x3619863a
mov dword [esp - 0x10], ebx
sub esp, 4
lea eax, [ebp - 0x7c]
mov dword [ebp - 0x28], 0x35b4208a
xchg ebp, ebp
add dword [ebp - 0x28], 0x6729429
sub dword [ebp - 0x28], 0x17fffb33
xor dword [ebp - 0x28], 0x15500c75
xor dword [ebp - 0x28], 0x2ad2b7c7
mov dword [esp - 0x1c], ecx
add dword [ebp - 0x28], 0x2782eb7a
xor dword [ebp - 0x28], 0x4326edac
nop
sub esp, 4
mov dword [esp - 0x10], 0x53ed8eab
mov dword [esp], 0xbb0b5a0
add dword [esp], 0x622a2994
xor dword [esp], 0x72b129c2
sub dword [esp], 0xd29efb0
mov dword [esp - 0x44], ebx
add dword [esp], 0x3fbdeb3e
sub dword [esp], 0x2f18714d
sub dword [esp], 0x22e78137
mov dword [esp - 0x20], 0x67093ad4
push eax
call fcn.0048bba0
mov ecx, dword [ebp + 0xc]
mov esi, esi
xor eax, eax
mov dword [ebp - 0x30], eax
add esp, 0xc
mov dword [ebp - 0x4c], eax
mov ecx, ecx
mov dword [ebp - 0x34], eax
mov dword [ebp - 0x48], eax
mov eax, dword [ebp + 0x10]
mov dword [ebp - 0x24], 0x44db2261
mov esp, esp
sub dword [ebp - 0x24], 0x3144a1db
add dword [ebp - 0x24], 0x5c5de7db
sub dword [ebp - 0x24], 0x50c7bc10
sub dword [ebp - 0x24], 0x191ec448
xchg esi, esi
xor dword [ebp - 0x24], 0x60de809
mov dword [ebp - 0x38], 0xbbf81fb
xor dword [ebp - 0x38], 0x4e7a77cd
xor dword [ebp - 0x38], 0x14f9e860
mov dword [esp - 0x38], 0x132648d0
sub dword [ebp - 0x38], 0x33e8e74
sub dword [ebp - 0x38], 0x5298f9f
xor dword [ebp - 0x38], 0x2dd22d4c
sub dword [ebp - 0x38], 0x65062d0f
mov dword [esp - 0x2c], ecx
mov dword [ebp - 0x3c], ecx
cmp eax, 3
jb 0x48ce8d
cmp byte [ecx], 0xef
xchg ecx, ecx
jne 0x48ce8d
cmp byte [ecx + 1], 0xbb
jne 0x48ce8d
xchg esp, esp
cmp byte [ecx + 2], 0xbf
jne 0x48ce8d
add ecx, 3
sub eax, 3
mov dword [esp - 0x28], ebx
mov dword [ebp - 0x3c], ecx
add eax, ecx
mov dword [ebp - 0x78], 0x15f65646
add dword [ebp - 0x78], 0x2f9917ec
mov ecx, ecx
sub dword [ebp - 0x78], 0x34131e61
xor dword [ebp - 0x78], 0x38fe70cf
add dword [ebp - 0x78], 0xd67dc0da
xchg edx, edx
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x20], eax
push ebx
mov dword [esp - 0x2c], ecx
push esi
mov eax, dword [ecx]
mov edx, dword [ecx + 8]
test edx, edx
mov dword [esp - 0xc], ecx
mov esi, dword [ecx + 0xc]
mov dword [ebp - 0x74], eax
mov eax, dword [ecx + 4]
mov dword [ebp - 0x70], eax
mov edi, edi
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x64], eax
mov eax, dword [ecx + 0x14]
mov edi, edi
mov dword [ebp - 0x60], eax
mov eax, 0x48cac0
cmove edx, eax
mov dword [esp - 0x3c], esp
mov eax, 0x48cb20
test esi, esi
mov dword [ebp - 0x6c], edx
mov ecx, ecx
push edi
cmove esi, eax
mov eax, 0x24d150e2
xchg esp, esp
xor eax, 0x7c2913aa
xor eax, 0x1e35a052
add eax, 0x383ecd32
sub eax, 0x7f0cb04b
mov dword [esp - 0x3c], edx
mov dword [ebp - 0x68], esi
mov dword [ebp - 0x5c], eax
jmp 0x48cf2f
mov eax, dword [ebp - 0x5c]
mov edx, dword [ebp - 0x3c]
xor edi, edi
mov dword [esp - 0x30], esp
xor esi, esi
mov dword [ebp - 0x1c], 0x6526a4d8
sub dword [ebp - 0x1c], 0x21f3b743
add dword [ebp - 0x1c], 0x1e9aa6e9
mov dword [esp - 0x14], 0x619e4c80
add dword [ebp - 0x1c], 0x92b7aa4
xor dword [ebp - 0x1c], 0x6af90f22
mov ebx, 0x1565923
mov edx, edx
add ebx, 0x3a88645
xor ebx, 0x453e43f7
sub ebx, 0x166a176f
sub ebx, 0x2b568528
mov ebx, ebx
mov dword [ebp + 0x10], edi
mov dword [ebp - 0x2c], edi
mov dword [ebp - 0x10], esi
mov dword [ebp - 0x18], esi
mov dword [esp - 0x34], 0x794c4c7d
mov dword [ebp - 8], ebx
mov dword [ebp - 0x54], 0x68b98afd
xor dword [ebp - 0x54], 0x2f6d120d
xchg edx, edx
sub dword [ebp - 0x54], 0x3098bb98
add dword [ebp - 0x54], 0xad85cbd
xor dword [ebp - 0x54], 0x23f67bb0
xchg esi, esi
add dword [ebp - 0x54], 0x5cac16cd
sub dword [ebp - 0x54], 0x5e8e5871
mov dword [ebp - 0x58], edx
mov dword [esp - 0x34], 0x33ecf0a0
mov dword [ebp - 0xc], edx
cmp edx, dword [ebp - 0x20]
jne 0x48cfeb
xchg esi, esi
xor cl, cl
jmp 0x48cfed
mov cl, byte [edx]
mov byte [ebp + 0xf], cl
mov dword [esp - 0x38], ebp
test bl, 0x20
je 0x48d568
test cl, cl
je case.0x48e295.11
mov dword [esp - 0x3c], 0x7a2d2872
cmp edi, dword [ebp - 0x78]
ja case.0x48e295.11
test bl, 0x10
mov dword [esp - 0x2c], ecx
je 0x48d4df
movsx eax, cl
and ebx, 0xffffffef
add eax, 0xffffff9e
xchg ecx, ecx
mov dword [ebp - 8], ebx
cmp eax, 0x13
ja case.0x48d045.99
mov dword [esp - 0x40], ecx
movzx eax, byte [eax + 0x48e4d8]
jmp dword [eax*4 + 0x48e4bc]
mov eax, dword [ebp - 0x5c]
test eax, eax
mov dword [esp - 0x14], 0x32db5ad4
jne 0x48d08a
mov ecx, dword [ebp - 0x1c]
mov byte [edi + ecx], 0x46
mov dword [esp - 0x40], 0x3f18f7f8
add byte [edi + ecx], 0xe
xor byte [edi + ecx], 0x59
add byte [edi + ecx], 0x41
mov dword [esp - 0x24], ebp
sub byte [edi + ecx], 0xe
sub byte [edi + ecx], 0x29
sub byte [edi + ecx], 0xf
mov dword [esp - 0x2c], ebp
inc edi
inc edx
mov dword [ebp + 0x10], edi
jmp 0x48cfd2
mov eax, dword [ebp - 0x5c]
test eax, eax
mov dword [esp - 0x2c], ebx
jne 0x48d0ba
mov ecx, dword [ebp - 0x1c]
mov byte [edi + ecx], 4
xchg esi, esi
add byte [edi + ecx], 0x18
xor byte [edi + ecx], 0x4d
xor byte [edi + ecx], 0x43
sub byte [edi + ecx], 6
xchg ebx, ebx
inc edi
inc edx
mov dword [ebp + 0x10], edi
jmp 0x48cfd2
mov eax, dword [ebp - 0x5c]
test eax, eax
jne 0x48d0fa
mov ecx, dword [ebp - 0x1c]
mov dword [esp - 0x14], 0x2b7b5bc4
mov byte [edi + ecx], 0x51
sub byte [edi + ecx], 0x36
xor byte [edi + ecx], 0x3a
mov dword [esp - 0x20], 0x16d87ce9
add byte [edi + ecx], 0x58
sub byte [edi + ecx], 0xa
xor byte [edi + ecx], 0x65
mov dword [esp - 0x24], esp
inc edi
inc edx
mov dword [ebp + 0x10], edi
xchg ebp, ebp
jmp 0x48cfd2
mov eax, dword [ebp - 0x5c]
test eax, eax
jne 0x48d12e
mov ebx, ebx
mov ecx, dword [ebp - 0x1c]
mov byte [edi + ecx], 9
add byte [edi + ecx], 0x1d
mov dword [esp - 0x20], 0x50273c6
xor byte [edi + ecx], 0x3c
add byte [edi + ecx], 0x37
xor byte [edi + ecx], 0x5c
inc edi
mov dword [esp - 0x30], 0x8fe1d1f
inc edx
mov dword [ebp + 0x10], edi
jmp 0x48cfd2
mov eax, dword [ebp - 0x5c]
test eax, eax
mov dword [esp - 0x20], edi
jne 0x48d17c
mov ecx, dword [ebp - 0x1c]
mov byte [edi + ecx], 0x66
mov dword [esp - 0x3c], 0x45d01f33
sub byte [edi + ecx], 0x18
sub byte [edi + ecx], 0x31
xor byte [edi + ecx], 0x2c
xchg ecx, ecx
sub byte [edi + ecx], 1
add byte [edi + ecx], 0x32
xor byte [edi + ecx], 0x6b
mov dword [esp - 0x10], 0xb3e1aab
inc edi
inc edx
mov dword [ebp + 0x10], edi
jmp 0x48cfd2
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0xc]
sub eax, ecx
cmp eax, 4
mov esp, esp
jl case.0x48e295.11
movzx eax, byte [ecx + 1]
push eax
call fcn.0048cb40
mov edi, edi
add esp, 4
mov byte [ebp + 0xf], al
cmp al, 0xff
je case.0x48e295.11
mov esp, esp
mov esi, dword [ebp - 0xc]
movzx ecx, byte [esi + 2]
push ecx
xchg esi, esi
call fcn.0048cb40
add esp, 4
mov byte [ebp + 0x13], al
xchg ecx, ecx
cmp al, 0xff
je case.0x48e295.11
movzx ecx, byte [esi + 3]
push ecx
xchg esp, esp
call fcn.0048cb40
add esp, 4
mov byte [ebp + 0xb], al
cmp al, 0xff
mov dword [esp - 0x28], edx
je case.0x48e295.11
movzx ecx, byte [esi + 4]
add esi, 4
mov edx, edx
push ecx
mov dword [ebp - 0xc], esi
call fcn.0048cb40
mov esp, esp
add esp, 4
mov byte [ebp - 1], al
cmp al, 0xff
je case.0x48e295.11
mov dword [esp - 0x30], 0x48387c91
mov al, byte [ebp + 0xf]
movzx ecx, byte [ebp + 0x13]
shl al, 4
movzx edx, al
mov edx, edx
mov al, byte [ebp + 0xb]
or edx, ecx
shl al, 4
xchg esi, esi
movzx eax, al
shl edx, 8
or edx, eax
movzx eax, byte [ebp - 1]
mov ecx, ecx
or edx, eax
mov eax, edx
mov dword [ebp - 0x40], edx
xchg ebp, ebp
and eax, 0xf800
cmp eax, 0xd800
jne 0x48d34d
mov eax, dword [ebp - 0x20]
mov edi, edi
sub eax, esi
cmp eax, 6
jl case.0x48e295.11
cmp byte [esi + 1], 0x5c
xchg ebp, ebp
jne case.0x48e295.11
cmp byte [esi + 2], 0x75
jne case.0x48e295.11
xchg ebp, ebp
movzx eax, byte [esi + 3]
push eax
call fcn.0048cb40
mov dword [esp - 0x24], ecx
add esp, 4
cmp al, 0xff
je case.0x48e295.11
movzx eax, byte [esi + 4]
mov dword [esp - 0x1c], esp
push eax
call fcn.0048cb40
add esp, 4
mov byte [ebp + 0xf], al
mov dword [esp - 0x3c], 0x446478e3
cmp al, 0xff
je case.0x48e295.11
movzx ecx, byte [esi + 5]
push ecx
mov dword [esp - 0x24], 0x4d775905
call fcn.0048cb40
add esp, 4
mov byte [ebp + 0x13], al
cmp al, 0xff
mov dword [esp - 0x24], 0x121d50c5
je case.0x48e295.11
movzx ecx, byte [esi + 6]
lea eax, [esi + 6]
push ecx
mov edi, edi
mov dword [ebp - 0xc], eax
call fcn.0048cb40
add esp, 4
xchg esp, esp
mov byte [ebp + 0xb], al
cmp al, 0xff
je case.0x48e295.11
mov dword [esp - 0x30], esp
mov edx, dword [ebp - 0x40]
movzx ecx, byte [ebp + 0xf]
and edx, 0x3bf
mov dword [esp - 0x24], 0x1dd920d1
mov al, byte [ebp + 0x13]
or edx, 0x40
shl edx, 2
and ecx, 3
mov dword [esp - 0x38], ebp
or edx, ecx
shl al, 4
shl edx, 8
xchg esi, esi
movzx eax, al
or edx, eax
movzx eax, byte [ebp + 0xb]
or edx, eax
mov dword [esp - 0x40], ecx
mov eax, dword [ebp - 0x5c]
cmp edx, 0x7f
ja 0x48d37b
mov esp, esp
test eax, eax
jne 0x48d363
mov ecx, dword [ebp - 0x1c]
mov ecx, ecx
mov byte [edi + ecx], dl
mov edx, dword [ebp - 0xc]
inc edi
mov dword [esp - 0x18], 0xc6ebebf
mov esi, dword [ebp - 0x10]
inc edx
mov dword [ebp + 0x10], edi
jmp 0x48cfd2
mov esi, dword [ebp - 0x10]
cmp edx, 0x7ff
ja 0x48d3de
test eax, eax
mov dword [esp - 0x10], 0x4a1c58d3
je 0x48d3a3
mov edx, dword [ebp - 0xc]
add edi, 2
mov dword [ebp + 0x10], edi
mov esi, esi
inc edx
jmp 0x48cfd2
mov ecx, dword [ebp - 0x1c]
mov eax, edx
mov dword [esp - 0x44], 0x31f4ba05
shr eax, 6
and dl, 0x3f
or al, 0xc0
or dl, 0x80
mov dword [esp - 0x44], 0x2fc4f365
mov byte [edi + ecx], al
mov eax, dword [ebp - 0x5c]
mov byte [edi + ecx + 1], dl
add edi, 2
xchg edx, edx
mov edx, dword [ebp - 0xc]
mov dword [ebp + 0x10], edi
inc edx
jmp 0x48cfd2
cmp edx, 0xffff
ja 0x48d44b
test eax, eax
je 0x48d3fd
xchg ecx, ecx
mov edx, dword [ebp - 0xc]
add edi, 3
mov dword [ebp + 0x10], edi
inc edx
mov ecx, ecx
jmp 0x48cfd2
mov ecx, dword [ebp - 0x1c]
mov eax, edx
shr eax, 0xc
xchg esi, esi
or al, 0xe0
mov byte [edi + ecx], al
mov eax, edx
shr eax, 6
mov dword [esp - 0x28], 0x6ddbef
and dl, 0x3f
and al, 0x3f
or dl, 0x80
or al, 0x80
mov dword [esp - 0x3c], edx
mov byte [edi + ecx + 1], al
mov eax, dword [ebp - 0x5c]
mov byte [edi + ecx + 2], dl
add edi, 3
mov ebp, ebp
mov edx, dword [ebp - 0xc]
mov dword [ebp + 0x10], edi
inc edx
mov dword [esp - 0xc], 0x2cb17fed
jmp 0x48cfd2
test eax, eax
je 0x48d460
mov edx, dword [ebp - 0xc]
add edi, 4
xchg ecx, ecx
mov dword [ebp + 0x10], edi
inc edx
jmp 0x48cfd2
mov ecx, dword [ebp - 0x1c]
mov eax, edx
shr eax, 0x12
mov dword [esp - 0x28], 0x2c0489ff
or al, 0xf0
mov byte [edi + ecx], al
mov eax, edx
shr eax, 0xc
mov dword [esp - 0x10], 0x3419b31e
and al, 0x3f
or al, 0x80
mov byte [edi + ecx + 1], al
xchg esi, esi
mov eax, edx
shr eax, 6
and dl, 0x3f
xchg ecx, ecx
and al, 0x3f
or dl, 0x80
or al, 0x80
mov byte [edi + ecx + 2], al
xchg esp, esp
mov eax, dword [ebp - 0x5c]
mov byte [edi + ecx + 3], dl
add edi, 4
mov edx, dword [ebp - 0xc]
mov esp, esp
mov dword [ebp + 0x10], edi
inc edx
jmp 0x48cfd2
mov eax, dword [ebp - 0x5c]
test eax, eax
jne 0x48d4d3
mov esi, dword [ebp - 0x1c]
mov dword [esp - 0x38], 0x64265e54
mov byte [edi + esi], cl
mov esi, dword [ebp - 0x10]
inc edi
inc edx
mov ebp, ebp
mov dword [ebp + 0x10], edi
jmp 0x48cfd2
cmp cl, 0x5c
jne 0x48d4f2
or ebx, 0x10
inc edx
xchg edx, edx
mov dword [ebp - 8], ebx
jmp 0x48cfd2
cmp cl, 0x22
jne 0x48d4be
test eax, eax
mov dword [esp - 0x10], edi
jne 0x48d51a
mov eax, dword [ebp - 0x1c]
mov byte [edi + eax], 0xf
mov ebx, ebx
add byte [edi + eax], 0x25
xor byte [edi + eax], 0x6a
sub byte [edi + eax], 0x28
sub byte [edi + eax], 0x36
xchg ecx, ecx
mov eax, dword [esi + 4]
and ebx, 0xffffffdf
mov dword [ebp - 8], ebx
mov dword [ebp - 0x1c], 0x653ee5f7
mov edi, edi
xor dword [ebp - 0x1c], 0x40a7512b
add dword [ebp - 0x1c], 0x362050b5
add dword [ebp - 0x1c], 0x2177108f
mov edx, edx
sub dword [ebp - 0x1c], 0x1c9ce081
sub dword [ebp - 0x1c], 0x6094359f
sub eax, 1
mov edx, edx
je 0x48d5c1
sub eax, 4
jne 0x48d568
or ebx, 1
xchg esi, esi
mov dword [esi + 8], edi
mov dword [ebp - 8], ebx
test byte [ebp - 0x70], 1
je 0x48d6ee
xchg ebx, ebx
test ebx, 0x6000
je 0x48d682
test ebx, 0x2000
mov dword [esp - 0x3c], 0x2c87c5a5
je 0x48d630
cmp cl, 0xd
je 0x48d5aa
cmp cl, 0xa
mov edx, edx
je 0x48d5aa
test cl, cl
jne case.0x48e295.9
xchg edi, edi
mov eax, dword [ebp - 0x5c]
and ebx, 0xffffdfff
dec edx
mov dword [esp - 0x10], ebx
mov dword [ebp - 8], ebx
inc edx
jmp 0x48cfd2
cmp dword [ebp - 0x5c], 0
je 0x48d5e0
lea eax, [edi + 1]
or ebx, 0x48
mov ebp, ebp
add dword [esi + 0xc], eax
inc edx
mov eax, dword [ebp - 0x5c]
xchg edx, edx
mov dword [ebp - 8], ebx
jmp 0x48cfd2
mov eax, dword [esi + 8]
or ebx, 0x48
mov ecx, dword [esi + 0xc]
mov dword [esp - 0x44], 0x707e27af
mov dword [ebp - 8], ebx
lea edx, [eax + eax*2]
mov eax, dword [esi + 0x10]
mov dword [ecx + edx*4], eax
mov dword [esp - 0x3c], 0x6979a181
mov eax, dword [esi + 8]
mov edx, dword [ebp - 0xc]
lea ecx, [eax + eax*2]
mov eax, dword [esi + 0xc]
mov dword [esp - 0x28], 0x28bc18dc
mov dword [eax + ecx*4 + 4], edi
lea eax, [edi + 1]
add dword [esi + 0x10], eax
inc edx
mov dword [esp - 0x1c], edx
mov eax, dword [ebp - 0x5c]
jmp 0x48cfd2
test ebx, 0x4000
je 0x48d6ee
test cl, cl
je case.0x48e295.11
mov dword [esp - 0x28], ebp
cmp cl, 0x2a
jne case.0x48e295.9
mov eax, dword [ebp - 0x20]
dec eax
xchg esi, esi
cmp edx, eax
jae case.0x48e295.9
cmp byte [edx + 1], 0x2f
mov edx, edx
mov eax, dword [ebp - 0x5c]
jne 0x48e388
and ebx, 0xffffbfff
mov dword [esp - 0x44], edi
inc edx
mov dword [ebp - 8], ebx
inc edx
jmp 0x48cfd2
cmp cl, 0x2f
jne 0x48d6ee
mov dword [esp - 0x28], edi
test bl, 0x88
jne 0x48d6a2
cmp dword [esi + 4], 1
jne case.0x48e295.11
mov dword [esp - 0x24], 0x2ebf78e4
inc edx
cmp edx, dword [ebp - 0x20]
je case.0x48e295.11
mov al, byte [edx]
mov dword [esp - 0x14], ebp
cmp al, 0x2a
je 0x48d6d4
cmp al, 0x2f
mov ebx, ebx
jne case.0x48e295.11
mov eax, dword [ebp - 0x5c]
or ebx, 0x2000
mov edx, edx
mov dword [ebp - 8], ebx
inc edx
jmp 0x48cfd2
mov eax, dword [ebp - 0x5c]
or ebx, 0x4000
mov dword [esp - 0x3c], 0x5907549d
mov dword [ebp - 8], ebx
inc edx
jmp 0x48cfd2
test bl, bl
jns 0x48d770
mov dword [esp - 0x28], 0x473ff9fa
test cl, cl
je 0x48e38e
movsx eax, cl
mov dword [esp - 0x28], esi
add eax, 0xfffffff7
cmp eax, 0x17
ja case.0x48e295.11
mov dword [esp - 0x20], ebx
movzx eax, byte [eax + 0x48e4f8]
jmp dword [eax*4 + 0x48e4ec]
inc dword [ebp - 0x54]
inc edx
mov eax, dword [ebp - 0x5c]
mov ebx, ebx
mov dword [ebp - 0x50], 0x4ab3b87d
xor dword [ebp - 0x50], 0x1b1f4a79
add dword [ebp - 0x50], 0x564c315
xchg edx, edx
sub dword [ebp - 0x50], 0x2862f702
add dword [ebp - 0x50], 0x281a57c3
sub dword [ebp - 0x50], 0x553a5329
sub dword [ebp - 0x50], 0x18ec2b1
mov dword [esp - 0x20], 0x48a20538
jmp 0x48cfd2
test bl, 8
je 0x48ddd1
movsx eax, cl
xchg edi, edi
mov dword [ebp + 8], eax
lea edi, [eax - 9]
mov dword [ebp - 0x40], edi
cmp edi, 0x54
mov dword [esp - 0x30], ebp
mov edi, dword [ebp + 0x10]
ja case.default.0x48d7a5
mov eax, dword [ebp - 0x40]
movzx eax, byte [eax + 0x48e520]
mov dword [esp - 0x30], 0x46cdd0bd
jmp dword [eax*4 + 0x48e510]
test esi, esi
je case.0x48e295.11
mov esp, esp
cmp dword [esi + 4], 2
jne case.0x48e295.11
and ebx, 0xfffffff3
xchg edx, edx
or ebx, 1
jmp 0x48e2cf
mov eax, dword [ebp + 8]
test bl, 4
xchg ecx, ecx
je 0x48d7fb
cmp cl, 0x2c
jne case.0x48e295.11
mov dword [esp - 0x30], ebp
mov eax, dword [ebp - 0x5c]
and ebx, 0xfffffffb
mov dword [ebp - 8], ebx
mov dword [esp - 0x10], 0x7dd01cfc
inc edx
jmp 0x48cfd2
test bl, 0x40
je 0x48d820
cmp cl, 0x3a
jne case.0x48e295.11
mov dword [esp - 0x10], edx
mov eax, dword [ebp - 0x5c]
and ebx, 0xffffffbf
mov dword [ebp - 8], ebx
mov dword [esp - 0x20], esp
inc edx
jmp 0x48cfd2
and ebx, 0xfffffff7
lea ecx, [eax - 0x22]
mov dword [ebp - 8], ebx
mov esi, esi
cmp ecx, 0x59
ja case.default.0x48d83b
movzx eax, byte [ecx + 0x48e594]
jmp dword [eax*4 + 0x48e578]
nop
sub esp, 4
mov dword [esp], 0x738e416d
mov esp, esp
sub dword [esp], 0x3e01f025
sub dword [esp], 0x1599c5af
xor dword [esp], 0x7f5ae3fc
xchg ebp, ebp
sub dword [esp], 0x7d0f0e3
xor dword [esp], 0x1f5de91c
sub dword [esp], 0x478a9e9d
xchg edi, edi
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x2c]
push eax
mov dword [esp - 0x24], 0x1653548e
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x7c]
push eax
mov dword [esp - 0x38], 0x26f76c58
call fcn.0048e790
add esp, 0x14
test eax, eax
je case.0x48e295.11
mov ebx, ebx
mov edx, dword [ebp - 0x58]
mov esi, dword [ebp - 0x18]
inc edx
mov eax, dword [ebp - 0x5c]
mov edx, edx
mov dword [ebp - 0x10], esi
jmp 0x48cfd2
nop
sub esp, 4
mov dword [esp - 0x10], 0x1fcf215f
mov dword [esp], 0x41d3e7a0
sub dword [esp], 0x1b9f8090
xor dword [esp], 0x7b6bc54d
mov dword [esp - 0x40], 0x1b8f1d9a
sub dword [esp], 0x270b2873
sub dword [esp], 0x1ab6ba0e
xor dword [esp], 0x60087e4f
sub dword [esp], 0x7b95c191
mov esi, esi
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x2c]
push eax
mov dword [esp - 0x40], 0x20e38d96
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x7c]
mov esp, esp
push eax
call fcn.0048e790
add esp, 0x14
test eax, eax
mov dword [esp - 0x30], 0x671288af
je case.0x48e295.11
mov edx, dword [ebp - 0x58]
or ebx, 8
mov esi, dword [ebp - 0x18]
mov dword [esp - 0x2c], 0x180e5ed
inc edx
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 8], ebx
mov dword [ebp - 0x10], esi
mov dword [esp - 0x1c], esi
jmp 0x48cfd2
nop
sub esp, 4
mov dword [esp], 0x451b9dcc
mov dword [esp - 0x18], 0x51ea07ae
add dword [esp], 0x2a168486
sub dword [esp], 0x212809ad
sub dword [esp], 0x4c460500
mov dword [esp - 0xc], 0x5117a601
xor dword [esp], 0x1c413a0
lea eax, [ebp - 0x28]
push eax
mov dword [esp - 0x3c], 0x340c2e06
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x18]
mov dword [esp - 0xc], 0x5bc7efc9
push eax
lea eax, [ebp - 0x7c]
push eax
mov dword [esp - 0x1c], 0x3b088d66
call fcn.0048e790
add esp, 0x14
test eax, eax
mov edx, edx
je case.0x48e295.11
mov esi, dword [ebp - 0x18]
or ebx, 0x20
mov edx, dword [ebp - 0x58]
mov esp, esp
xor edi, edi
mov eax, dword [ebp - 0x5c]
inc edx
mov dword [esp - 0x24], 0x3ab4e2af
mov dword [ebp - 8], ebx
mov ecx, dword [esi + 0xc]
mov dword [ebp - 0x1c], ecx
mov dword [ebp + 0x10], edi
xchg esi, esi
mov dword [ebp - 0x10], esi
jmp 0x48cfd2
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0xc]
sub eax, ecx
mov dword [esp - 0xc], 0x71803921
cmp eax, 3
jl case.0x48e295.11
cmp byte [ecx + 1], 0x72
mov dword [esp - 0x2c], edi
jne case.0x48e295.11
cmp byte [ecx + 2], 0x75
jne case.0x48e295.11
mov dword [esp - 0x10], ebx
cmp byte [ecx + 3], 0x65
lea eax, [ecx + 3]
mov dword [ebp - 0x58], eax
jne case.0x48e295.11
mov ebx, ebx
nop
sub esp, 4
mov dword [esp], 0x57486263
xchg esp, esp
xor dword [esp], 0xb067f2a
sub dword [esp], 0x40c62197
add dword [esp], 0xce0e2b4
add dword [esp], 0x9dc1c4f
mov esi, esi
sub dword [esp], 0x3244faaf
lea eax, [ebp - 0x28]
push eax
lea eax, [ebp - 0x2c]
xchg edx, edx
push eax
lea eax, [ebp - 0x18]
push eax
mov ecx, ecx
lea eax, [ebp - 0x7c]
push eax
call fcn.0048e790
add esp, 0x14
xchg esp, esp
test eax, eax
je case.0x48e295.11
mov esi, dword [ebp - 0x18]
or ebx, 1
mov ebx, ebx
mov edx, dword [ebp - 0x58]
mov dword [ebp - 0x10], esi
mov dword [esi + 8], 0x7e87574c
sub dword [esi + 8], 0x65986db8
mov dword [esp - 0x20], 0x7353ac80
sub dword [esi + 8], 0x14bc558
add dword [esi + 8], 0x61b28330
sub dword [esi + 8], 0x2461c29
mov esi, esi
xor dword [esi + 8], 0x67bd19d2
xor dword [esi + 8], 0x10b29290
jmp 0x48e2cf
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0xc]
sub eax, ecx
mov ebp, ebp
cmp eax, 4
jl case.0x48e295.11
cmp byte [ecx + 1], 0x61
jne case.0x48e295.11
xchg ebx, ebx
cmp byte [ecx + 2], 0x6c
jne case.0x48e295.11
cmp byte [ecx + 3], 0x73
xchg edx, edx
jne case.0x48e295.11
cmp byte [ecx + 4], 0x65
lea eax, [ecx + 4]
xchg esp, esp
mov dword [ebp - 0x58], eax
jne case.0x48e295.11
nop
mov ebp, ebp
mov dword [esp - 4], 0x7eaf68cf
sub dword [esp - 4], 0x7bf02cb4
add dword [esp - 4], 0x570378f7
add dword [esp - 4], 0x14f0ee84
mov ebx, ebx
sub dword [esp - 4], 0x6eb3a390
sub esp, 4
lea eax, [ebp - 0x28]
mov dword [esp - 0x20], 0xb1de842
push eax
lea eax, [ebp - 0x2c]
push eax
mov dword [esp - 0x40], 0x3b7f404c
lea eax, [ebp - 0x18]
push eax
lea eax, [ebp - 0x7c]
xchg edx, edx
push eax
call fcn.0048e790
add esp, 0x14
test eax, eax
mov dword [esp - 0x2c], 0x2e32e1c0
je case.0x48e295.11
mov esi, dword [ebp - 0x18]
or ebx, 1
mov edx, dword [ebp - 0x58]
xchg esp, esp
mov dword [ebp - 0x10], esi
jmp 0x48e2cf
mov eax, dword [ebp - 0x20]
mov ecx, dword [ebp - 0xc]
mov dword [esp - 0x18], 0x3556f329
sub eax, ecx
cmp eax, 3
jl case.0x48e295.11
cmp byte [ecx + 1], 0x75
mov esi, esi
jne case.0x48e295.11
cmp byte [ecx + 2], 0x6c
jne case.0x48e295.11
cmp byte [ecx + 3], 0x6c
mov edi, edi
lea eax, [ecx + 3]
mov dword [ebp - 0x58], eax
jne case.0x48e295.11
nop
mov edi, edi
sub esp, 4
mov dword [esp], 0x12966005
xor dword [esp], 0x5d791ffb
mov edx, edx
add dword [esp], 0x27878fcd
sub dword [esp], 0x5fd2da30
xor dword [esp], 0x4dd2b502
xor dword [esp], 0x5a76809e
xchg ebp, ebp
jmp 0x48db64
mov eax, dword [ebp + 8]
push eax
call fcn.00494a50
mov dword [esp - 0xc], 0x68ac7006
add esp, 4
test eax, eax
jne 0x48dc51
mov dword [esp - 0x34], ebx
cmp byte [ebp + 0xf], 0x2d
jne case.0x48e295.11
nop
mov dword [esp - 4], 0x15833c9e
mov dword [esp - 0x34], edx
add dword [esp - 4], 0x17a3afe9
sub dword [esp - 4], 0x29e0c971
add dword [esp - 4], 0x37854a63
mov edi, edi
xor dword [esp - 4], 0x3251f4b0
sub dword [esp - 4], 0x89a99c6
sub esp, 4
lea eax, [ebp - 0x28]
mov edx, edx
push eax
lea eax, [ebp - 0x2c]
push eax
lea eax, [ebp - 0x18]
xchg edx, edx
push eax
lea eax, [ebp - 0x7c]
push eax
mov esp, esp
call fcn.0048e790
add esp, 0x14
test eax, eax
mov dword [esp - 0x10], ebx
je case.0x48e295.11
mov eax, dword [ebp - 0x5c]
test eax, eax
jne 0x48dd49
mov dword [esp - 0x34], 0x75bb6f6c
mov eax, dword [ebp - 0x58]
mov bl, byte [ebp + 0xf]
mov edi, dword [ebp - 0x20]
mov esp, esp
mov dword [ebp - 0xc], eax
jmp 0x48dcde
movsx eax, bl
push eax
call fcn.00494a50
mov ecx, ecx
add esp, 4
test eax, eax
jne 0x48dd19
mov edx, edx
cmp bl, 0x2b
je 0x48dd19
cmp bl, 0x2d
je 0x48dd19
mov dword [esp - 0x30], ebx
cmp bl, 0x65
je 0x48dd19
cmp bl, 0x45
mov dword [esp - 0x30], 0x2990fb50
je 0x48dd19
cmp bl, 0x2e
jne 0x48dd30
mov edx, edx
mov ebx, dword [ebp - 0xc]
inc ebx
mov dword [ebp - 0xc], ebx
mov dword [esp - 0x1c], 0x347b31d9
cmp ebx, edi
je 0x48dd30
mov bl, byte [ebx]
jmp 0x48dcde
mov ebx, dword [ebp - 8]
mov esi, dword [ebp - 0x18]
or ebx, 3
mov edx, dword [ebp - 0xc]
mov ebp, ebp
mov edi, dword [ebp + 0x10]
mov dword [ebp - 0x10], esi
jmp 0x48e2cf
mov esi, dword [ebp - 0x18]
xor ecx, ecx
mov edx, dword [ebp - 0x58]
and ebx, 0xffffe0ff
mov dword [esp - 0x2c], esp
cmp byte [ebp + 0xf], 0x2d
pushf
mov dword [ebp - 0x24], 0x7b72779c
mov dword [esp - 0x28], esp
xor dword [ebp - 0x24], 0x5b12fad5
add dword [ebp - 0x24], 0x3d3715cb
xor dword [ebp - 0x24], 0x5150f024
sub dword [ebp - 0x24], 0x3f1932e
mov dword [esp - 0x3c], esp
sub dword [ebp - 0x24], 0x8d5c002
popf
mov dword [ebp - 0x30], ecx
mov dword [ebp - 0x4c], ecx
xchg edx, edx
mov dword [ebp - 0x34], ecx
mov dword [ebp - 0x48], ecx
mov dword [ebp - 0x38], ecx
xchg ebx, ebx
mov dword [ebp - 0x10], esi
je 0x48ddba
or ebx, 2
mov dword [ebp - 8], ebx
mov edx, edx
jmp 0x48e2d9
or ebx, 0x100
inc edx
mov dword [esp - 0x30], 0x353b1c3
mov dword [ebp - 8], ebx
jmp 0x48cfd2
lea eax, [esi + 4]
mov dword [ebp + 8], eax
mov eax, dword [eax]
sub eax, 1
mov edi, edi
je 0x48e277
sub eax, 2
je 0x48ddf4
mov esp, esp
sub eax, 1
jne 0x48e2d6
movsx eax, cl
push eax
mov dword [esp - 0xc], 0x3a9d7944
mov dword [ebp - 0x40], eax
call fcn.00494a50
add esp, 4
mov dword [esp - 0x30], ebx
test eax, eax
je 0x48df67
mov eax, dword [ebp + 8]
mov ebx, ebx
mov ecx, ebx
mov edx, dword [ebp - 0x24]
and ecx, 0x400
inc edx
mov dword [esp - 0x1c], ebp
mov dword [ebp - 0x24], edx
cmp dword [eax], 3
je 0x48dea3
test ecx, ecx
mov dword [esp - 0x24], 0x4c89953c
jne 0x48df38
mov ecx, dword [ebp - 0x30]
mov esi, dword [ebp - 0x34]
mov eax, dword [ebp - 0x40]
mov dword [esp - 0xc], 0x63b62478
shld esi, ecx, 2
shl ecx, 2
add dword [ebp - 0x30], ecx
lea eax, [eax - 0x30]
mov esi, esi
mov ecx, dword [ebp - 0x30]
adc dword [ebp - 0x34], esi
mov esi, dword [ebp - 0x34]
shld esi, ecx, 1
mov dword [esp - 0x24], esp
cdq
add ecx, ecx
add eax, ecx
xchg esp, esp
mov dword [ebp - 0x30], eax
adc edx, esi
mov dword [ebp - 0x4c], eax
mov esi, dword [ebp - 0x10]
mov dword [esp - 0x1c], ebx
mov eax, edx
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x34], eax
mov dword [esp - 0xc], ebx
inc edx
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x5c]
jmp 0x48cfd2
test ecx, ecx
jne 0x48df38
mov dword [esp - 0x44], 0x57e44df8
test ebx, 0x200
jne case.0x48e295.11
cmp edx, 1
mov edi, edi
jne 0x48ded9
cmp byte [ebp + 0xf], 0x30
jne 0x48ded9
mov dword [esp - 0x28], ebp
or ebx, 0x200
mov dword [ebp - 8], ebx
mov eax, dword [ebp - 0x40]
mov edi, dword [esi + 8]
mov dword [esp - 0x18], 0x278d7544
mov ecx, edi
lea eax, [eax - 0x30]
cdq
mov dword [esp - 0xc], ebp
mov ebx, eax
mov eax, dword [esi + 0xc]
mov esi, eax
mov dword [esp - 0x38], edi
shld esi, ecx, 2
shl ecx, 2
add edi, ecx
adc eax, esi
xchg edi, edi
mov esi, dword [ebp - 0x10]
shld eax, edi, 1
add edi, edi
add ebx, edi
mov dword [esp - 0x38], ecx
mov edi, dword [ebp + 0x10]
mov dword [esi + 8], ebx
mov ebx, dword [ebp - 8]
mov esp, esp
adc edx, eax
mov eax, dword [ebp - 0x5c]
mov dword [esi + 0xc], edx
mov edx, dword [ebp - 0xc]
mov dword [esp - 0x38], esi
inc edx
jmp 0x48cfd2
mov edx, dword [ebp - 0x38]
or ebx, 0x800
mov ecx, dword [ebp - 0x40]
mov dword [esp - 0x30], ecx
mov dword [ebp - 8], ebx
lea eax, [edx - 6]
lea eax, [edx + eax*4]
mov edx, edx
lea edx, [ecx + eax*2]
mov eax, dword [ebp - 0x5c]
mov dword [ebp - 0x38], edx
mov edx, dword [ebp - 0xc]
mov esp, esp
inc edx
jmp 0x48cfd2
mov cl, byte [ebp + 0xf]
cmp cl, 0x2b
je 0x48e028
cmp cl, 0x2d
mov dword [esp - 0x14], ecx
je 0x48e028
mov edx, dword [ebp + 8]
cmp cl, 0x2e
jne 0x48e0a8
mov dword [esp - 0x1c], ecx
cmp dword [edx], 3
jne 0x48e0a8
cmp dword [ebp - 0x24], 0
mov dword [esp - 0xc], edi
je case.0x48e295.11
mov eax, dword [ebp - 0x5c]
mov dword [edx], 0x3b176890
sub dword [edx], 0x322323c2
mov dword [esp - 0x18], edx
xor dword [edx], 0x5ce0649f
xor dword [edx], 0x29c87e85
sub dword [edx], 0x4a3093e7
xchg ebp, ebp
add dword [edx], 0x4a1dc8f7
sub dword [edx], 0x7dc993e0
fild qword [esi + 8]
mov dword [esp - 0x2c], ebx
mov edx, dword [ebp - 0xc]
mov dword [ebp - 0x24], 0x786b2c63
sub dword [ebp - 0x24], 0xc1f7375
mov dword [esp - 0x34], 0x6525173a
sub dword [ebp - 0x24], 0x2fef405
xor dword [ebp - 0x24], 0x26686ec4
sub dword [ebp - 0x24], 0x437aed03
xor dword [ebp - 0x24], 0x77482c9b
mov ebp, ebp
sub dword [ebp - 0x24], 0x7ce191b1
inc edx
fstp qword [esi + 8]
jmp 0x48cfd2
mov eax, ebx
and eax, 0xc00
mov dword [esp - 0x44], esi
cmp eax, 0x400
jne 0x48e0a5
mov edx, dword [ebp - 0xc]
cmp cl, 0x2d
mov dword [esp - 0x1c], edi
pushf
mov eax, 0x10a97a2c
add eax, 0x60e36da7
sub eax, 0x67b87335
mov edx, edx
xor eax, 0x633392
sub eax, 0x9b72f0c
popf
mov ecx, ecx
pushf
mov ecx, 0x21ba7103
sub ecx, 0x17adf503
xchg esi, esi
xor ecx, 0x12ebb68d
xor ecx, 0x1ec43190
sub ecx, 0x623f31d
mov dword [esp - 0x18], ebp
popf
cmovne eax, ecx
or ebx, eax
mov eax, dword [ebp - 0x5c]
mov dword [esp - 0x28], 0x17fd14a2
mov dword [ebp - 8], ebx
inc edx
jmp 0x48cfd2
mov edx, dword [ebp + 8]
test ebx, 0x400
jne 0x48e1c4
cmp dword [edx], 4
mov dword [esp - 0x14], 0x2ee40a19
jne 0x48e120
cmp dword [ebp - 0x24], 0
je case.0x48e295.11
mov dword [esp - 0x28], esp
fild qword [ebp - 0x4c]
fstp qword [ebp - 0x44]
fld qword [ebp - 0x44]
fstp qword [ebp - 0x14]
mov dword [esp - 0x1c], ecx
fild dword [ebp - 0x24]
fstp qword [ebp - 0x44]
fld qword [0x401840]
mov dword [esp - 0x24], 0x2f50cae7
fld qword [ebp - 0x44]
call fcn.0048c910
fdivr qword [ebp - 0x14]
mov ecx, dword [ebp - 0x58]
mov esp, esp
mov edx, dword [ebp + 8]
mov dword [ebp - 0xc], ecx
mov cl, byte [ebp + 0xf]
fadd qword [esi + 8]
mov dword [esp - 0x24], esi
fstp qword [esi + 8]
mov esi, dword [ebp - 0x18]
mov dword [ebp - 0x10], esi
mov dword [esp - 0x24], ecx
cmp cl, 0x65
je 0x48e136
cmp cl, 0x45
mov dword [esp - 0x40], 0x78e57bc9
jne 0x48e21c
or ebx, 0x400
cmp dword [edx], 3
mov dword [esp - 0x3c], 0x75d35f4a
jne 0x48e179
mov dword [edx], 0x7666e84c
sub dword [edx], 0x6beb8020
xor dword [edx], 0x66434e0f
mov esi, esi
sub dword [edx], 0x52effe86
xor dword [edx], 0x65506382
xor dword [edx], 0x7c18441b
fild qword [esi + 8]
mov dword [esp - 0x44], edx
fstp qword [esi + 8]
mov edx, dword [ebp - 0xc]
and ebx, 0xfffffdff
mov eax, dword [ebp - 0x5c]
xchg ebx, ebx
inc edx
mov dword [ebp - 0x24], 0x722b20e3
sub dword [ebp - 0x24], 0x310a46f7
xor dword [ebp - 0x24], 0x76985823
mov ecx, ecx
xor dword [ebp - 0x24], 0x790c2c02
sub dword [ebp - 0x24], 0x12470b81
sub dword [ebp - 0x24], 0x3c6da24c
mov dword [esp - 0x20], 0x4b8a17ca
mov dword [ebp - 8], ebx
jmp 0x48cfd2
cmp dword [ebp - 0x24], 0
je case.0x48e295.11
mov ecx, dword [ebp - 0x38]
mov dword [esp - 0x30], edi
neg ecx
test ebx, 0x1000
cmove ecx, dword [ebp - 0x38]
mov dword [ebp + 0xc], ecx
mov ecx, ecx
fild dword [ebp + 0xc]
fstp qword [ebp - 0x44]
fld qword [0x401840]
fld qword [ebp - 0x44]
mov dword [esp - 0x24], 0xeb35b5b
call fcn.0048c910
fmul qword [esi + 8]
mov ecx, dword [ebp - 0x58]
mov dword [ebp - 0xc], ecx
mov dword [esp - 0x34], 0xe4c0ac6
fstp qword [esi + 8]
mov esi, dword [ebp - 0x18]
mov dword [ebp - 0x10], esi
test ebx, 0x100
mov dword [esp - 0x18], 0xe7ba0d1
je 0x48e267
mov eax, dword [ebp + 8]
cmp dword [eax], 3
jne 0x48e25b
mov esp, esp
mov ecx, dword [esi + 8]
mov eax, dword [esi + 0xc]
neg ecx
mov edx, dword [ebp - 0xc]
mov dword [esp - 0x28], 0x3efde1f7
adc eax, 0
mov dword [esi + 8], ecx
neg eax
or ebx, 3
xchg edx, edx
mov dword [esi + 0xc], eax
jmp 0x48e2cf
fld qword [esi + 8]
fchs
mov dword [esp - 0x2c], esi
fstp qword [esi + 8]
mov edx, dword [ebp - 0xc]
or ebx, 3
mov dword [esp - 0xc], 0x2fa1c86a
jmp 0x48e2cf
movsx eax, cl
add eax, 0xfffffff7
mov dword [esp - 0x38], 0x38b307f6
cmp eax, 0x74
ja case.0x48e295.11
movzx eax, byte [eax + 0x48e608]
jmp dword [eax*4 + 0x48e5f0]
test bl, 4
jne case.0x48e295.11
mov eax, dword [esi + 0x10]
mov edx, edx
or ebx, 0x20
xor edi, edi
mov dword [ebp - 0x1c], eax
mov dword [esp - 0x40], edx
mov dword [ebp + 0x10], edi
jmp 0x48e2cf
and ebx, 0xfffffffb
or ebx, 1
jmp 0x48e2cf
test bl, 4
je case.0x48e295.11
and ebx, 0xfffffffb
mov dword [ebp - 8], ebx
mov dword [esp - 0x2c], ebp
mov eax, dword [ebp - 0x5c]
test bl, 2
je 0x48e2e7
mov edx, edx
and ebx, 0xfffffffd
dec edx
mov dword [ebp - 8], ebx
test bl, 1
mov dword [esp - 0x34], ebp
je 0x48e388
mov ecx, dword [esi]
and ebx, 0xfffffffe
xchg ecx, ecx
test ecx, ecx
jne 0x48e310
or ebx, 0x84
xchg edx, edx
inc edx
mov dword [ebp - 8], ebx
jmp 0x48cfd2
xor eax, eax
cmp dword [ecx + 4], 2
sete al
mov dword [esp - 0x20], ebp
lea eax, [eax*8 + 4]
or ebx, eax
cmp dword [ebp - 0x5c], 0
xchg esi, esi
mov dword [ebp - 8], ebx
jne 0x48e368
mov eax, dword [ecx + 4]
sub eax, 1
xchg ebp, ebp
je 0x48e351
sub eax, 1
jne 0x48e368
mov edx, edx
mov eax, dword [esi]
mov ecx, dword [ecx + 8]
mov eax, dword [eax + 0xc]
mov dword [eax + ecx*4], esi
xchg edi, edi
jmp 0x48e368
mov eax, dword [ecx + 8]
lea ecx, [eax + eax*2]
mov eax, dword [esi]
mov eax, dword [eax + 0xc]
mov dword [esp - 0xc], 0x5cb89cbd
mov dword [eax + ecx*4 + 8], esi
mov eax, dword [esi]
inc dword [eax + 8]
mov ecx, ecx
mov eax, dword [eax + 8]
cmp eax, dword [ebp - 0x78]
ja case.0x48e295.11
mov dword [esp - 0xc], esp
mov esi, dword [esi]
mov dword [ebp - 0x18], esi
mov dword [ebp - 0x10], esi
mov eax, dword [ebp - 0x5c]
mov edi, edi
inc edx
jmp 0x48cfd2
sub dword [ebp - 0x5c], 1
mov eax, dword [ebp - 0x2c]
mov dword [ebp - 0x28], eax
jns 0x48cf2c
xchg esi, esi
pop edi
pop esi
pop ebx
mov dword [esp - 0x18], ecx
mov esp, ebp
pop ebp
ret
cmp dword [ebp - 0x5c], 0
mov eax, dword [ebp - 0x28]
xchg ebp, ebp
mov edi, dword [ebp - 0x2c]
cmovne eax, edi
mov ebx, dword [ebp - 0x64]
mov edx, edx
mov ecx, dword [ebp - 0x68]
test eax, eax
je 0x48e3ef
mov edi, edi
mov dword [esp - 0x3c], edx
mov esi, dword [eax + 0x10]
push ebx
push eax
mov dword [esp - 0x20], 0x541ad2ac
call ecx
mov ecx, dword [ebp - 0x68]
add esp, 8
mov eax, esi
mov dword [esp - 0x3c], 0x19e04e52
test esi, esi
jne 0x48e3cc
cmp dword [ebp - 0x5c], 0
jne 0x48e4ad
mov dword [esp - 0x14], esp
test edi, edi
je 0x48e4ad
mov dword [edi], 0x30b0f754
sub dword [edi], 0x2dde3533
xchg esp, esp
xor dword [edi], 0x5c27bbae
sub dword [edi], 0x5111aade
xor dword [edi], 0xde3ceb1
mov dword [esp - 0x40], 0x585b4c95
mov eax, dword [edi + 4]
sub eax, 1
je 0x48e466
xchg edi, edi
sub eax, 1
je 0x48e447
sub eax, 3
jne 0x48e47c
mov dword [esp - 0xc], ebx
jmp 0x48e46d
mov eax, dword [edi + 8]
test eax, eax
je 0x48e46d
xchg ecx, ecx
lea ecx, [eax - 1]
mov eax, dword [edi + 0xc]
mov dword [edi + 8], ecx
mov dword [esp - 0xc], 0xf0d55e3
mov edi, dword [eax + ecx*4]
jmp 0x48e49e
mov eax, dword [edi + 8]
test eax, eax
jne 0x48e48e
push ebx
xchg esp, esp
push dword [edi + 0xc]
call ecx
add esp, 8
mov dword [esp - 0x1c], ebx
mov eax, edi
mov edi, dword [edi]
push ebx
push eax
mov dword [esp - 0x44], ecx
call dword [ebp - 0x68]
add esp, 8
jmp 0x48e49e
dec eax
mov dword [edi + 8], eax
lea ecx, [eax + eax*2]
xchg esi, esi
mov eax, dword [edi + 0xc]
mov edi, dword [eax + ecx*4 + 8]
mov ecx, dword [ebp - 0x68]
test edi, edi
mov dword [esp - 0x40], 0x494df6b2
jne 0x48e42d
pop edi
pop esi
xor eax, eax
mov esp, esp
pop ebx
mov esp, ebp
pop ebp
mov dword [esp - 0x34], ecx
ret