Function at 0x50cc50
Capabilities:
Resolve function by parsing pe exports

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xb8]
cmp eax, dword [ecx + 8]
jbe 0x50e003
sub esp, 0x138
mov eax, dword [esp + 0x14c]
mov dword [esp], eax
mov ecx, dword [esp + 0x150]
mov dword [esp + 4], ecx
call fcn.00511550
mov eax, dword [esp + 8]
test eax, eax
jne 0x50d023
mov ecx, dword [esp + 0x14c]
test ecx, ecx
je 0x50d011
nop
movzx edx, byte [0xacd7b0]
test dl, dl
je 0x50d005
mov edx, dword [esp + 0x14c]
mov dword [0xacd7b4], edx
mov edx, dword [0xaec8c0]
test edx, edx
jne 0x50cfee
mov eax, dword [esp + 0x150]
mov dword [0xacd7b8], eax
mov dword [esp + 0x118], ecx
mov dword [esp + 0x11c], eax
mov edx, dword [esp + 0x118]
test edx, edx
je 0x50cfe1
nop
movzx ebx, byte [edx + 0xf]
mov ebp, ebx
and ebx, 0x1f
xchg ebp, eax
test al, 0x20
xchg ebp, eax
jne 0x50cd14
or ebx, 0x80
mov ebp, eax
nop
nop
mov esi, ebx
and ebx, 0x1f
cmp ebx, 0x16
je 0x50cf74
cmp ebx, 0x17
je 0x50cf23
mov ebx, 0xffffffff
test ebx, ebx
jge 0x50ce09
mov dword [esp + 0x110], ecx
mov dword [esp + 0x114], ebp
mov eax, dword [esp + 0x110]
test eax, eax
je 0x50ce00
lea ecx, [0x8b3800]
mov ecx, dword [ecx + 0x80]
mov dword [esp], eax
call ecx
mov eax, dword [esp + 4]
mov ecx, dword [esp + 8]
mov dword [esp], 0
lea edx, [0x8109f4]
mov dword [esp + 4], edx
mov dword [esp + 8], 0x1a
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
call fcn.0044d960
mov eax, dword [esp + 0x14]
mov dword [esp + 0xe4], eax
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x28], ecx
lea edx, [0x7b28c0]
mov dword [esp], edx
call fcn.0040c160
mov edi, dword [esp + 4]
mov eax, dword [esp + 0x28]
mov dword [edi + 4], eax
mov eax, dword [0xaec8c0]
test eax, eax
jne 0x50cdf2
mov eax, dword [esp + 0xe4]
mov dword [edi], eax
lea eax, [0x8ac7c0]
mov dword [esp + 0x154], eax
mov dword [esp + 0x158], edi
add esp, 0x138
ret
mov eax, dword [esp + 0xe4]
call fcn.00466130
jmp 0x50cdd7
xor ecx, ecx
xor eax, eax
jmp 0x50cd5f
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x24], esi
mov dword [esp + 0xdc], eax
mov dword [esp + 0xd8], edx
lea eax, [0x79faa0]
mov dword [esp], eax
mov dword [esp + 4], ebx
mov dword [esp + 8], ebx
call fcn.0044a490
mov eax, dword [esp + 0xc]
mov dword [esp + 0x10c], eax
lea edi, [esp + 0x120]
xor eax, eax
call fcn.004663da
mov eax, dword [esp + 0x144]
mov dword [esp + 0x120], eax
mov eax, dword [esp + 0x148]
mov dword [esp + 0x124], eax
mov eax, dword [esp + 0x10c]
mov dword [esp + 0x128], eax
mov ecx, dword [esp + 0x2c]
mov dword [esp + 0x12c], ecx
mov dword [esp + 0x130], ecx
mov edx, dword [esp + 0x13c]
mov dword [esp], edx
mov edx, dword [esp + 0x140]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], ecx
call fcn.0049cbb0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
test eax, eax
je 0x50ced9
mov dword [esp + 0x154], ecx
mov dword [esp + 0x158], edx
add esp, 0x138
ret
lea eax, [esp + 0x120]
mov dword [esp], eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 4], eax
mov eax, dword [esp + 0xdc]
mov dword [esp + 8], eax
mov eax, dword [esp + 0x24]
mov dword [esp + 0xc], eax
call fcn.0050fac0
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
add esp, 0x138
ret
mov dword [esp + 0x80], esi
mov dword [esp + 0xe0], eax
mov dword [esp + 0xd4], edx
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.0050f570
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x150]
mov esi, dword [esp + 0x80]
mov edx, dword [esp + 0xd4]
mov eax, dword [esp + 0xe0]
jmp 0x50cd34
mov dword [esp], edx
mov dword [esp + 4], eax
mov dword [esp + 8], esi
call fcn.0048e2d0
mov eax, dword [esp + 0xc]
mov dword [esp + 0x108], eax
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x10c], ecx
mov edx, dword [esp + 0x14]
mov dword [esp + 0x80], edx
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], edx
call fcn.0050f570
mov ebx, dword [esp + 0xc]
mov ecx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x150]
mov esi, dword [esp + 0x80]
mov edx, dword [esp + 0x108]
mov eax, dword [esp + 0x10c]
jmp 0x50cd34
mov ebp, eax
xor ebx, ebx
xor edx, edx
xor eax, eax
jmp 0x50cd16
lea edi, [0xacd7b8]
mov eax, dword [esp + 0x150]
call fcn.00466130
jmp 0x50cce0
mov eax, dword [esp + 0x150]
jmp 0x50cce0
mov ebp, dword [esp + 0x150]
xor ebx, ebx
xor edx, edx
xor eax, eax
jmp 0x50cd16
mov dword [esp + 0x70], eax
lea ecx, [0x79faa0]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.0044a490
mov eax, dword [esp + 0xc]
mov dword [esp + 0x10c], eax
mov ecx, dword [esp + 0x13c]
mov dword [esp], ecx
mov edx, dword [esp + 0x140]
mov dword [esp + 4], edx
mov dword [esp + 8], eax
mov ebx, dword [esp + 0x70]
mov dword [esp + 0xc], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x14], ebx
call fcn.0049cbb0
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
test eax, eax
jne 0x50df5f
mov edx, dword [esp + 0x14c]
test edx, edx
je 0x50df53
mov edx, dword [edx + 8]
cmp edx, 0x6b581726
ja 0x50d757
cmp edx, 0x2069b53f
jbe 0x50d3c3
cmp edx, 0x30c31d62
ja 0x50d2b6
cmp edx, 0x20e38ee7
je 0x50d1b5
cmp edx, 0x26b80717
je 0x50d14f
cmp edx, 0x30c31d62
jne 0x50d146
lea edx, [0x78ab20]
mov ebx, dword [esp + 0x14c]
cmp edx, ebx
jne 0x50d142
mov edx, dword [esp + 0x150]
mov ecx, dword [edx + 4]
mov edx, dword [edx]
mov ebp, dword [esp + 0x70]
mov esi, dword [esp + 0x10c]
xor eax, eax
jmp 0x50d10a
mov byte [edx + eax], bl
inc eax
mov ebx, edi
cmp ebp, eax
jle 0x50d11d
mov edi, ebx
movzx ebx, byte [eax + esi]
cmp eax, ecx
jb 0x50d104
jmp 0x50dff8
test ebp, ebp
je 0x50cc99
mov dword [esp + 0x154], 0
mov dword [esp + 0x158], 0
add esp, 0x138
ret
xor ebp, ebp
jmp 0x50d11d
mov ebx, dword [esp + 0x14c]
jmp 0x50d142
lea ecx, [0x77f980]
mov edx, dword [esp + 0x14c]
cmp ecx, edx
jne 0x50d1b1
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x70]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x150]
mov dword [edx + 4], eax
mov dword [edx], ecx
mov ebx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x70]
jmp 0x50d11d
mov ebx, edx
jmp 0x50d142
lea edx, [0x78c960]
mov ebx, dword [esp + 0x14c]
cmp edx, ebx
jne 0x50d142
mov edx, dword [esp + 0x150]
mov ebp, dword [edx + 4]
mov dword [esp + 0x60], ebp
mov edx, dword [edx]
mov dword [esp + 0xf4], edx
mov esi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x10c]
mov edi, dword [esp + 0x70]
mov dword [esp + 0xcc], eax
xor eax, eax
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0xcc]
jmp 0x50d251
mov ebx, dword [esp + 0xf4]
mov word [ebx + ecx*2], ax
lea eax, [ecx + 1]
mov esi, dword [esp + 0x148]
mov ecx, dword [esp + 0x144]
mov ebp, dword [esp + 0x10c]
mov edi, dword [esp + 0x70]
mov ecx, ebp
mov edx, ebx
mov ebx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x60]
mov dword [esp + 0x48], eax
mov eax, dword [esp + 0x144]
mov ebx, dword [esp + 0x48]
cmp ebx, ebp
jge 0x50d2a8
shl ebx, 1
cmp edi, ebx
jb 0x50dfdf
mov edx, dword [eax + 0x20]
mov dword [esp], esi
sub edi, ebx
mov dword [esp + 0x7c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and ebx, edi
add ebx, ecx
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x7c]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call edx
movzx eax, word [esp + 0x10]
mov ecx, dword [esp + 0x48]
mov edx, dword [esp + 0x60]
cmp ecx, edx
jb 0x50d210
jmp 0x50dfd6
mov ebx, dword [esp + 0x14c]
mov ebp, edi
jmp 0x50d11d
cmp edx, 0x382e7edf
jne 0x50d31d
lea ecx, [0x78ca20]
mov edx, dword [esp + 0x14c]
cmp ecx, edx
jne 0x50d316
mov ecx, dword [esp + 0x150]
mov ebx, dword [ecx + 4]
mov ecx, dword [ecx]
mov ebp, dword [esp + 0x70]
cmp ebp, ebx
jge 0x50d310
mov eax, ebp
mov ebx, dword [esp + 0x10c]
cmp ebx, ecx
je 0x50d300
mov dword [esp], ecx
mov dword [esp + 4], ebx
mov dword [esp + 8], ebp
call fcn.00466ae0
mov ebx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x70]
jmp 0x50d11d
mov eax, ebp
mov ebp, ebx
jmp 0x50d2e5
mov ebx, edx
jmp 0x50d142
cmp edx, 0x5fcadfef
jne 0x50d354
lea ecx, [0x77f9c0]
mov edx, dword [esp + 0x14c]
cmp ecx, edx
jne 0x50d316
mov ecx, dword [esp + 0x10c]
movzx ecx, byte [ecx]
mov esi, dword [esp + 0x150]
mov byte [esi], cl
mov ebx, edx
mov ebp, dword [esp + 0x70]
jmp 0x50d11d
cmp edx, 0x6b581726
jne 0x50d3b7
lea ecx, [0x77f940]
mov edx, dword [esp + 0x14c]
cmp ecx, edx
jne 0x50d316
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x24]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x70]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x150]
mov dword [ecx], eax
mov ebx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x70]
jmp 0x50d11d
mov edx, dword [esp + 0x14c]
jmp 0x50d316
cmp edx, 0x1e2f74f8
jbe 0x50d67a
cmp edx, 0x1f1d91d4
jne 0x50d4db
lea edx, [0x78c9a0]
mov ebx, dword [esp + 0x14c]
cmp edx, ebx
jne 0x50d142
mov edx, dword [esp + 0x150]
mov ebp, dword [edx + 4]
mov dword [esp + 0x50], ebp
mov edx, dword [edx]
mov dword [esp + 0x104], edx
mov esi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x10c]
mov edi, dword [esp + 0x70]
mov dword [esp + 0xc4], eax
xor eax, eax
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0xc4]
jmp 0x50d476
mov ebx, dword [esp + 0x104]
mov dword [ebx + ecx*4], eax
lea eax, [ecx + 1]
mov esi, dword [esp + 0x148]
mov ecx, dword [esp + 0x144]
mov ebp, dword [esp + 0x10c]
mov edi, dword [esp + 0x70]
mov ecx, ebp
mov edx, ebx
mov ebx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x50]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x144]
mov ebx, dword [esp + 0x44]
cmp ebx, ebp
jge 0x50d4cd
shl ebx, 2
cmp edi, ebx
jb 0x50dfbd
mov edx, dword [eax + 0x24]
mov dword [esp], esi
sub edi, ebx
mov dword [esp + 0x7c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and ebx, edi
add ebx, ecx
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x7c]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call edx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x50]
cmp ecx, edx
jb 0x50d436
jmp 0x50dfb4
mov ebx, dword [esp + 0x14c]
mov ebp, edi
jmp 0x50d11d
cmp edx, 0x1ffee651
je 0x50d60c
cmp edx, 0x2069b53f
jne 0x50d600
lea edx, [0x78c9e0]
mov ebx, dword [esp + 0x14c]
cmp edx, ebx
jne 0x50d142
mov edx, dword [esp + 0x150]
mov ebp, dword [edx + 4]
mov dword [esp + 0x54], ebp
mov edx, dword [edx]
mov dword [esp + 0xf0], edx
mov esi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x10c]
mov edi, dword [esp + 0x70]
mov dword [esp + 0xbc], eax
xor eax, eax
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0xbc]
jmp 0x50d597
mov ebp, dword [esp + 0xf0]
lea esi, [ebp + edx*8 + 4]
mov dword [esi], eax
lea eax, [ebp + edx*8]
mov dword [eax], ecx
lea eax, [edx + 1]
mov esi, dword [esp + 0x148]
mov ecx, dword [esp + 0x144]
mov edx, dword [esp + 0x10c]
mov edi, dword [esp + 0x70]
mov ecx, edx
mov edx, ebp
mov ebx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x54]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x144]
mov ebx, dword [esp + 0x4c]
cmp ebx, ebp
jge 0x50d5f2
shl ebx, 3
cmp edi, ebx
jb 0x50df99
mov edx, dword [eax + 0x28]
mov dword [esp], esi
sub edi, ebx
mov dword [esp + 0x7c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and ebx, edi
add ebx, ecx
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x7c]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x4c]
mov ebx, dword [esp + 0x54]
cmp edx, ebx
jb 0x50d54e
jmp 0x50df90
mov ebx, dword [esp + 0x14c]
mov ebp, edi
jmp 0x50d11d
mov ebx, dword [esp + 0x14c]
jmp 0x50d142
lea ecx, [0x77e900]
mov edx, dword [esp + 0x14c]
cmp ecx, edx
jne 0x50d673
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x24]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x70]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x74], eax
movss xmm0, dword [esp + 0x74]
mov eax, dword [esp + 0x150]
movss dword [eax], xmm0
mov ebx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x70]
jmp 0x50d11d
mov ebx, edx
jmp 0x50d142
cmp edx, 0xc66cd3
jne 0x50d6e4
lea ecx, [0x7879c0]
mov edx, dword [esp + 0x14c]
cmp ecx, edx
jne 0x50d6dd
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x24]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x70]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x150]
mov dword [ecx], eax
mov ebx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x70]
jmp 0x50d11d
mov ebx, edx
jmp 0x50d142
cmp edx, 0x1e2f74f8
jne 0x50d74e
lea ecx, [0x787a00]
mov edx, dword [esp + 0x14c]
cmp ecx, edx
jne 0x50d6dd
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x70]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x150]
mov dword [edx + 4], eax
mov dword [edx], ecx
mov ebx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x70]
jmp 0x50d11d
mov edx, dword [esp + 0x14c]
jmp 0x50d6dd
cmp edx, 0x88768e96
jbe 0x50daa5
cmp edx, 0xa066c615
jbe 0x50d8c9
cmp edx, 0xba56ad13
je 0x50d84a
cmp edx, 0xe781e5b1
jne 0x50d7d5
lea edx, [0x789be0]
mov ebx, dword [esp + 0x14c]
cmp edx, ebx
jne 0x50d142
mov edx, dword [esp + 0x150]
mov ecx, dword [edx + 4]
mov edx, dword [edx]
mov ebp, dword [esp + 0x70]
mov esi, dword [esp + 0x10c]
xor eax, eax
jmp 0x50d7be
test bl, bl
setne bl
mov byte [edx + eax], bl
inc eax
mov ebx, edi
cmp ebp, eax
jle 0x50d11d
mov edi, ebx
movzx ebx, byte [eax + esi]
cmp eax, ecx
jb 0x50d7b3
jmp 0x50dffd
cmp edx, 0xee92f42e
jne 0x50d841
lea ecx, [0x787980]
mov edx, dword [esp + 0x14c]
cmp ecx, edx
jne 0x50d83a
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x70]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
movzx eax, word [esp + 0x10]
mov ecx, dword [esp + 0x150]
mov word [ecx], ax
mov ebx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x70]
jmp 0x50d11d
mov ebx, edx
jmp 0x50d142
mov edx, dword [esp + 0x14c]
jmp 0x50d83a
lea ecx, [0x77e940]
mov edx, dword [esp + 0x14c]
cmp ecx, edx
jne 0x50d8c2
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x28]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x70]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x88], eax
mov dword [esp + 0x84], ecx
movsd xmm0, qword [esp + 0x84]
mov eax, dword [esp + 0x150]
movsd qword [eax], xmm0
mov ebx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x70]
jmp 0x50d11d
mov ebx, edx
jmp 0x50d142
cmp edx, 0x9ad926a8
je 0x50da6f
cmp edx, 0x9c373330
jne 0x50d9fa
lea edx, [0x78a560]
mov ebx, dword [esp + 0x14c]
cmp edx, ebx
jne 0x50d142
mov edx, dword [esp + 0x150]
mov ebp, dword [edx + 4]
mov dword [esp + 0x5c], ebp
mov edx, dword [edx]
mov dword [esp + 0xec], edx
mov esi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x10c]
mov edi, dword [esp + 0x70]
mov dword [esp + 0xb4], eax
xor eax, eax
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xb4]
jmp 0x50d97a
mov edx, dword [esp + 0xec]
movsd qword [edx + eax*8], xmm0
inc eax
mov esi, dword [esp + 0x148]
mov ebx, dword [esp + 0x144]
mov ebp, dword [esp + 0x10c]
mov edi, dword [esp + 0x70]
mov ecx, ebp
mov ebx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x5c]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x144]
mov ebx, dword [esp + 0x40]
cmp ebx, ebp
jge 0x50d9ec
shl ebx, 3
cmp edi, ebx
jb 0x50df79
mov edx, dword [eax + 0x28]
mov dword [esp], esi
sub edi, ebx
mov dword [esp + 0x7c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and ebx, edi
add ebx, ecx
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x7c]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x90], eax
mov dword [esp + 0x8c], ecx
movsd xmm0, qword [esp + 0x8c]
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x5c]
cmp eax, ecx
jb 0x50d93c
jmp 0x50df74
mov ebx, dword [esp + 0x14c]
mov ebp, edi
jmp 0x50d11d
cmp edx, 0xa066c615
jne 0x50da66
lea ecx, [0x77f900]
mov edx, dword [esp + 0x14c]
cmp ecx, edx
jne 0x50da5f
mov eax, dword [esp + 0x144]
mov ecx, dword [eax + 0x20]
mov edx, dword [esp + 0x148]
mov dword [esp], edx
mov ebx, dword [esp + 0x10c]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x70]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call ecx
movzx eax, word [esp + 0x10]
mov ecx, dword [esp + 0x150]
mov word [ecx], ax
mov ebx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x70]
jmp 0x50d11d
mov ebx, edx
jmp 0x50d142
mov edx, dword [esp + 0x14c]
jmp 0x50da5f
lea ecx, [0x787a40]
mov edx, dword [esp + 0x14c]
cmp ecx, edx
jne 0x50da9e
mov ecx, dword [esp + 0x10c]
movzx ecx, byte [ecx]
mov eax, dword [esp + 0x150]
mov byte [eax], cl
mov ebx, edx
mov ebp, dword [esp + 0x70]
jmp 0x50d11d
mov ebx, edx
jmp 0x50d142
cmp edx, 0x734d2a16
ja 0x50dc10
cmp edx, 0x6e0df0d1
je 0x50dbd5
cmp edx, 0x734d2a16
jne 0x50dbc9
lea edx, [0x78aaa0]
mov ebx, dword [esp + 0x14c]
cmp edx, ebx
jne 0x50d142
mov edx, dword [esp + 0x150]
mov ebp, dword [edx + 4]
mov dword [esp + 0x64], ebp
mov edx, dword [edx]
mov dword [esp + 0xe8], edx
mov esi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x10c]
mov edi, dword [esp + 0x70]
mov dword [esp + 0xac], eax
xor eax, eax
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xac]
jmp 0x50db64
mov ebx, dword [esp + 0xe8]
mov dword [ebx + edx*4], eax
lea eax, [edx + 1]
mov esi, dword [esp + 0x148]
mov edx, dword [esp + 0x144]
mov ebp, dword [esp + 0x10c]
mov edi, dword [esp + 0x70]
mov ecx, ebp
mov edx, ebx
mov ebx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x64]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0x144]
mov ebx, dword [esp + 0x30]
cmp ebp, ebx
jle 0x50dbbb
shl ebx, 2
cmp edi, ebx
jb 0x50dfcd
mov edx, dword [eax + 0x24]
mov dword [esp], esi
sub edi, ebx
mov dword [esp + 0x7c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and ebx, edi
add ebx, ecx
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x7c]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call edx
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x64]
mov edx, dword [esp + 0x30]
cmp ecx, edx
ja 0x50db24
jmp 0x50dfc6
mov ebx, dword [esp + 0x14c]
mov ebp, edi
jmp 0x50d11d
mov ebx, dword [esp + 0x14c]
jmp 0x50d142
lea ecx, [0x77cac0]
mov edx, dword [esp + 0x14c]
cmp ecx, edx
jne 0x50dc09
mov ecx, dword [esp + 0x10c]
movzx ecx, byte [ecx]
test cl, cl
setne cl
mov esi, dword [esp + 0x150]
mov byte [esi], cl
mov ebx, edx
mov ebp, dword [esp + 0x70]
jmp 0x50d11d
mov ebx, edx
jmp 0x50d142
cmp edx, 0x7ad3bff0
jne 0x50dd24
lea edx, [0x78a520]
mov ebx, dword [esp + 0x14c]
cmp edx, ebx
jne 0x50d142
mov edx, dword [esp + 0x150]
mov ebp, dword [edx + 4]
mov dword [esp + 0x6c], ebp
mov edx, dword [edx]
mov dword [esp + 0xfc], edx
mov esi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x10c]
mov edi, dword [esp + 0x70]
mov dword [esp + 0xa4], eax
xor eax, eax
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xa4]
jmp 0x50dcb5
mov edx, dword [esp + 0xfc]
movss dword [edx + eax*4], xmm0
inc eax
mov esi, dword [esp + 0x148]
mov ebx, dword [esp + 0x144]
mov ebp, dword [esp + 0x10c]
mov edi, dword [esp + 0x70]
mov ecx, ebp
mov ebx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x6c]
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x144]
mov ebx, dword [esp + 0x3c]
cmp ebp, ebx
jle 0x50dd16
shl ebx, 2
cmp edi, ebx
jb 0x50df87
mov edx, dword [eax + 0x24]
mov dword [esp], esi
sub edi, ebx
mov dword [esp + 0x7c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and ebx, edi
add ebx, ecx
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x7c]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call edx
mov eax, dword [esp + 0x10]
mov dword [esp + 0x78], eax
movss xmm0, dword [esp + 0x78]
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x3c]
cmp ecx, eax
ja 0x50dc77
jmp 0x50df82
mov ebx, dword [esp + 0x14c]
mov ebp, edi
jmp 0x50d11d
cmp edx, 0x8237d00c
jne 0x50de31
lea edx, [0x78aa60]
mov ebx, dword [esp + 0x14c]
cmp edx, ebx
jne 0x50d142
mov edx, dword [esp + 0x150]
mov ebp, dword [edx + 4]
mov dword [esp + 0x68], ebp
mov edx, dword [edx]
mov dword [esp + 0x100], edx
mov esi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x10c]
mov edi, dword [esp + 0x70]
mov dword [esp + 0x9c], eax
xor eax, eax
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x9c]
jmp 0x50ddcc
mov ebx, dword [esp + 0x100]
mov word [ebx + edx*2], ax
lea eax, [edx + 1]
mov esi, dword [esp + 0x148]
mov edx, dword [esp + 0x144]
mov ebp, dword [esp + 0x10c]
mov edi, dword [esp + 0x70]
mov ecx, ebp
mov edx, ebx
mov ebx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x68]
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0x144]
mov ebx, dword [esp + 0x34]
cmp ebp, ebx
jle 0x50de23
shl ebx, 1
cmp edi, ebx
jb 0x50dfef
mov edx, dword [eax + 0x20]
mov dword [esp], esi
sub edi, ebx
mov dword [esp + 0x7c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and ebx, edi
add ebx, ecx
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x7c]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call edx
movzx eax, word [esp + 0x10]
mov ecx, dword [esp + 0x68]
mov edx, dword [esp + 0x34]
cmp ecx, edx
ja 0x50dd8b
jmp 0x50dfe8
mov ebx, dword [esp + 0x14c]
mov ebp, edi
jmp 0x50d11d
cmp edx, 0x88768e96
jne 0x50df47
lea edx, [0x78aae0]
mov ebx, dword [esp + 0x14c]
cmp edx, ebx
jne 0x50d142
mov edx, dword [esp + 0x150]
mov ebp, dword [edx + 4]
mov dword [esp + 0x58], ebp
mov edx, dword [edx]
mov dword [esp + 0xf8], edx
mov esi, dword [esp + 0x148]
mov eax, dword [esp + 0x144]
mov ecx, dword [esp + 0x10c]
mov edi, dword [esp + 0x70]
mov dword [esp + 0x94], eax
xor eax, eax
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x94]
jmp 0x50dee1
mov ebp, dword [esp + 0xf8]
lea esi, [ebp + ebx*8 + 4]
mov dword [esi], eax
lea eax, [ebp + ebx*8]
mov dword [eax], ecx
lea eax, [ebx + 1]
mov esi, dword [esp + 0x148]
mov ecx, dword [esp + 0x144]
mov ebx, dword [esp + 0x10c]
mov edi, dword [esp + 0x70]
mov ecx, ebx
mov edx, ebp
mov ebx, dword [esp + 0x14c]
mov ebp, dword [esp + 0x58]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0x144]
mov ebx, dword [esp + 0x38]
cmp ebp, ebx
jle 0x50df39
shl ebx, 3
cmp edi, ebx
jb 0x50dfab
mov edx, dword [eax + 0x28]
mov dword [esp], esi
sub edi, ebx
mov dword [esp + 0x7c], edi
xchg edi, ebx
neg ebx
xchg edi, ebx
sar edi, 0x1f
and ebx, edi
add ebx, ecx
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x7c]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ebx
call edx
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0x58]
mov ebx, dword [esp + 0x38]
cmp edx, ebx
ja 0x50de98
jmp 0x50dfa2
mov ebx, dword [esp + 0x14c]
mov ebp, edi
jmp 0x50d11d
mov ebx, dword [esp + 0x14c]
jmp 0x50d142
mov ebx, dword [esp + 0x14c]
jmp 0x50d142
mov dword [esp + 0x154], ecx
mov dword [esp + 0x158], edx
add esp, 0x138
ret
call fcn.004661b0
mov eax, ebx
mov ecx, edi
call fcn.00466210
call fcn.004661b0
mov eax, ebx
mov ecx, edi
call fcn.00466210
mov eax, edx
mov ecx, ebx
call fcn.004661b0
mov eax, ebx
mov ecx, edi
call fcn.00466210
mov eax, ebx
mov ecx, edx
call fcn.004661b0
mov eax, ebx
mov ecx, edi
call fcn.00466210
mov eax, ecx
mov ecx, edx
call fcn.004661b0
mov eax, ebx
mov ecx, edi
call fcn.00466210
mov eax, edx
call fcn.004661b0
mov eax, ebx
mov ecx, edi
call fcn.00466210
mov eax, ecx
mov ecx, edx
call fcn.004661b0
mov eax, ebx
mov ecx, edi
call fcn.00466210
mov eax, edx
call fcn.004661b0
mov eax, ebx
mov ecx, edi
call fcn.00466210
call fcn.004661b0
call fcn.004661b0
nop
call fcn.00464bd0
jmp fcn.0050cc50