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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
lea eax, [esp - 0xec]
cmp eax, dword [ecx + 8]
jbe 0x50f196
sub esp, 0x16c
mov ecx, dword [esp + 0x178]
test ecx, ecx
jle 0x50f15f
mov edx, dword [esp + 0x184]
test edx, edx
jle 0x50f14a
lea eax, [ecx - 1]
cmp eax, ecx
jae 0x50f190
mov ebx, dword [esp + 0x170]
lea ebp, [ebx + ecx*4 - 4]
lea eax, [edx - 1]
cmp eax, edx
jae 0x50f189
mov esi, dword [esp + 0x17c]
lea edi, [esi + edx*4 - 4]
cmp edi, ebp
xchg ebp, ebx
sete bl
xchg ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
je 0x50f0de
xor eax, eax
xor ecx, ecx
xor ebx, ebx
mov ebp, dword [esp + 0x198]
cmp ebp, 1
jne 0x50f0d2
mov edi, dword [esp + 0x194]
cmp dword [edi], 1
je 0x50f0b2
mov edi, dword [esp + 0x18c]
test edi, edi
je 0x50f05e
cmp edi, 1
jne 0x50f052
mov edi, dword [esp + 0x188]
cmp dword [edi], 1
jne 0x50e472
test ebp, ebp
jne 0x50efd5
test ebp, ebp
je 0x50e47e
cmp ebp, ebx
jg 0x50ef42
nop
mov eax, dword [esp + 0x180]
cmp eax, ebx
jg 0x50eea3
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x180]
cmp eax, ebx
jle 0x50ee9c
mov dword [esp + 0x48], eax
mov dword [esp + 0x168], ecx
cmp ecx, esi
je 0x50e4c3
mov dword [esp], ecx
mov dword [esp + 4], esi
shl ebx, 2
mov dword [esp + 8], ebx
call fcn.004579b0
mov eax, dword [esp + 0x17c]
mov dword [esp], eax
mov ecx, dword [esp + 0x180]
mov dword [esp + 4], ecx
mov edx, dword [esp + 0x184]
mov dword [esp + 8], edx
mov ebx, dword [0xdb9f30]
mov ebp, dword [0xdb9f2c]
mov esi, dword [0xdb9f28]
mov dword [esp + 0xc], esi
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebx
call fcn.00509120
mov eax, dword [esp + 0x18]
test eax, eax
jle 0x50ee89
mov edx, dword [esp + 0x18c]
cmp edx, 1
jle 0x50ee7d
mov ebx, dword [esp + 0x198]
test ebx, ebx
jg 0x50ed3e
mov ebp, dword [esp + 0x188]
mov esi, dword [ebp + edx*4 - 4]
nop
nop
cmp esi, 0x10000
jb 0x50ed35
mov edi, esi
shr esi, 0x10
mov eax, 0x10
cmp esi, 0x100
jb 0x50ed2c
shr esi, 8
mov ecx, ebp
lea ebp, [eax + 8]
cmp esi, 0x100
jae 0x50f171
mov eax, ebx
lea ebx, [0xd892e0]
movzx ebx, byte [ebx + esi]
lea ebx, [ebx + ebp - 0x20]
neg ebx
lea ebp, [ebx + 1]
cmp ebp, 0x20
sbb esi, esi
mov ecx, ebp
shl edi, cl
and edi, esi
add ebx, 0xffffffe1
neg ebx
mov dword [esp + 0x5c], ebx
xor ecx, ecx
xor ebp, ebp
xor esi, esi
mov ecx, dword [esp + 0x50]
mov dword [esp + 0x58], ecx
mov ebp, dword [esp + 0x48]
mov dword [esp + 0x54], ebp
mov esi, dword [esp + 0x168]
mov dword [esp + 0x164], esi
mov dword [esp + 0x140], eax
xor eax, eax
mov dword [esp + 0x68], eax
xor eax, eax
mov dword [esp + 0x64], eax
xor eax, eax
mov dword [esp + 0x160], eax
xor eax, eax
mov dword [esp + 0xa4], eax
xor eax, eax
mov dword [esp + 0x15c], eax
xor eax, eax
mov dword [esp + 0xa0], eax
xor eax, eax
mov dword [esp + 0x168], eax
xor ecx, ecx
xor ebp, ebp
xor esi, esi
mov eax, dword [esp + 0x140]
jmp 0x50e662
mov ebp, dword [esp + 0x74]
inc ebp
shl ebx, 1
mov dword [esp + 0x58], edx
mov dword [esp + 0x54], eax
mov dword [esp + 0x164], ecx
mov dword [esp + 0x138], eax
mov eax, dword [esp + 0x6c]
mov dword [esp + 0xa4], eax
mov dword [esp + 0x130], ecx
mov ecx, dword [esp + 0x70]
mov dword [esp + 0xa0], ecx
mov eax, dword [esp + 0x198]
mov edx, dword [esp + 0x18c]
mov ecx, ebp
mov ebp, edi
mov edi, ebx
mov ebx, dword [esp + 0x5c]
cmp ecx, ebx
jge 0x50e8ac
mov dword [esp + 0x74], ecx
mov dword [esp + 0x60], edi
mov eax, dword [esp + 0x168]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov eax, dword [esp + 0x164]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x58]
mov dword [esp + 0x14], edx
call fcn.0050b250
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x60]
test ebx, 0x80000000
jne 0x50e80d
mov ebp, dword [esp + 0x198]
test ebp, ebp
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x54]
mov esi, dword [esp + 0x164]
mov dword [esp + 0x168], esi
mov esi, dword [esp + 0x58]
jne 0x50e71c
mov dword [esp + 0x128], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x6c], eax
mov dword [esp + 0x120], ecx
mov ecx, dword [esp + 0xa0]
mov dword [esp + 0x70], ecx
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x120]
jmp 0x50e610
mov dword [esp + 0x9c], edx
mov dword [esp + 0x98], eax
mov dword [esp + 0x158], ecx
mov ebx, dword [esp + 0x168]
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov ebx, dword [esp + 0x160]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
mov ebx, dword [esp + 0x194]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebp
mov esi, dword [esp + 0x19c]
mov dword [esp + 0x2c], esi
call fcn.0050bf40
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x3c]
mov edi, dword [esp + 0x15c]
mov dword [esp + 0x168], edi
mov edi, dword [esp + 0xa4]
mov edi, dword [esp + 0x9c]
mov dword [esp + 0x68], edi
mov edi, dword [esp + 0x98]
mov dword [esp + 0x64], edi
mov edi, dword [esp + 0x158]
mov dword [esp + 0x160], edi
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x70], eax
mov dword [esp + 0x15c], edx
mov ecx, esi
mov eax, ebp
mov edx, ebx
mov edi, dword [esp + 0xa4]
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x198]
mov esi, dword [esp + 0xa0]
jmp 0x50e610
mov dword [esp + 0x94], eax
mov dword [esp + 0x148], ecx
mov dword [esp + 0x90], edx
mov ebx, dword [esp + 0x164]
mov dword [esp], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x58]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x17c]
mov dword [esp + 0x18], ebx
mov ebp, dword [esp + 0x180]
mov dword [esp + 0x1c], ebp
mov esi, dword [esp + 0x184]
mov dword [esp + 0x20], esi
call fcn.0050a250
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
mov edx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x198]
test ebp, ebp
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x94]
mov ebx, dword [esp + 0x148]
mov dword [esp + 0x168], ebx
mov ebx, dword [esp + 0x60]
jmp 0x50e6e3
lea ebx, [edx - 2]
mov edi, dword [esp + 0x188]
mov ecx, dword [esp + 0x15c]
mov dword [esp + 0x118], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x174], eax
mov dword [esp + 0x110], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x178], ecx
mov dword [esp + 0x108], edx
mov edx, dword [esp + 0xa0]
mov dword [esp + 0x70], edx
mov dword [esp + 0x100], ebx
mov ebx, dword [esp + 0xa4]
mov dword [esp + 0x6c], ebx
mov ecx, dword [esp + 0x110]
mov eax, dword [esp + 0x118]
mov edx, dword [esp + 0x108]
mov ebx, dword [esp + 0x100]
jmp 0x50ec5d
mov ebp, dword [esp + 0x78]
inc ebp
shl ebx, 1
mov dword [esp + 0x78], ebp
mov ebp, edi
mov dword [esp + 0x58], edx
mov dword [esp + 0x54], ecx
mov dword [esp + 0x164], eax
mov edi, ebx
mov ebx, dword [esp + 0x70]
mov dword [esp + 0xa4], ebx
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0xa0], ebx
mov ecx, dword [esp + 0x15c]
mov eax, dword [esp + 0x198]
mov edx, dword [esp + 0x18c]
mov ebx, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
cmp edx, 0x20
jge 0x50ebe1
mov dword [esp + 0x60], edi
mov dword [esp + 0x154], ecx
mov eax, dword [esp + 0x168]
mov dword [esp], eax
mov dword [esp + 4], ebp
mov dword [esp + 8], esi
mov eax, dword [esp + 0x164]
mov dword [esp + 0xc], eax
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x10], ecx
mov edx, dword [esp + 0x58]
mov dword [esp + 0x14], edx
call fcn.0050b250
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x20]
mov ebx, dword [esp + 0x60]
test ebx, 0x80000000
jne 0x50eb42
mov ebp, dword [esp + 0x198]
test ebp, ebp
mov esi, dword [esp + 0x58]
mov edi, dword [esp + 0x54]
mov esi, dword [esp + 0x164]
mov dword [esp + 0x168], esi
mov esi, dword [esp + 0x58]
jne 0x50ea51
mov dword [esp + 0xb8], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x6c], eax
mov dword [esp + 0xb0], ecx
mov ecx, dword [esp + 0x154]
mov dword [esp + 0x15c], ecx
mov dword [esp + 0xa8], edx
mov edx, dword [esp + 0xa4]
mov dword [esp + 0x70], edx
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0xb0]
mov edx, dword [esp + 0xa8]
jmp 0x50e926
mov dword [esp + 0x8c], edx
mov dword [esp + 0x88], ecx
mov dword [esp + 0x150], eax
mov ebx, dword [esp + 0x168]
mov dword [esp], ebx
mov dword [esp + 4], edi
mov dword [esp + 8], esi
mov ebx, dword [esp + 0x160]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x64]
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
mov ebx, dword [esp + 0x194]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x28], ebp
mov esi, dword [esp + 0x19c]
mov dword [esp + 0x2c], esi
call fcn.0050bf40
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x38]
mov ebx, dword [esp + 0x3c]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x44]
mov edi, dword [esp + 0xa0]
mov edi, dword [esp + 0x154]
mov dword [esp + 0x168], edi
mov edi, dword [esp + 0x8c]
mov dword [esp + 0x68], edi
mov edi, dword [esp + 0x88]
mov dword [esp + 0x64], edi
mov edi, dword [esp + 0x150]
mov dword [esp + 0x160], edi
mov dword [esp + 0x6c], ecx
mov dword [esp + 0x15c], eax
mov dword [esp + 0x70], edx
mov edx, esi
mov ecx, ebp
mov eax, ebx
mov edi, dword [esp + 0xa0]
mov ebx, dword [esp + 0x60]
mov ebp, dword [esp + 0x198]
mov esi, dword [esp + 0xa4]
jmp 0x50e926
mov dword [esp + 0x14c], eax
mov dword [esp + 0x84], ecx
mov dword [esp + 0x80], edx
mov ebx, dword [esp + 0x164]
mov dword [esp], ebx
mov ebx, dword [esp + 0x54]
mov dword [esp + 4], ebx
mov ebx, dword [esp + 0x58]
mov dword [esp + 8], ebx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
mov ebx, dword [esp + 0x17c]
mov dword [esp + 0x18], ebx
mov ebp, dword [esp + 0x180]
mov dword [esp + 0x1c], ebp
mov esi, dword [esp + 0x184]
mov dword [esp + 0x20], esi
call fcn.0050a250
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
mov ebp, dword [esp + 0x198]
test ebp, ebp
mov ebx, dword [esp + 0x60]
mov esi, dword [esp + 0x80]
mov edi, dword [esp + 0x84]
mov ebx, dword [esp + 0x14c]
mov dword [esp + 0x168], ebx
mov ebx, dword [esp + 0x60]
jmp 0x50e9fc
dec ebx
mov edx, dword [esp + 0x188]
mov edi, dword [esp + 0x18c]
mov edx, edi
mov edi, dword [esp + 0x188]
mov dword [esp + 0xf8], eax
mov eax, dword [esp + 0x54]
mov dword [esp + 0x174], eax
mov dword [esp + 0xf0], ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x178], ecx
mov dword [esp + 0xe8], edi
mov edi, dword [esp + 0xa4]
mov dword [esp + 0x70], edi
mov dword [esp + 0xe0], ebx
mov ebx, dword [esp + 0xa0]
mov dword [esp + 0x6c], ebx
mov ecx, dword [esp + 0xf0]
mov eax, dword [esp + 0xf8]
mov edi, dword [esp + 0x188]
mov ebx, dword [esp + 0xe0]
test ebx, ebx
jl 0x50ecdf
cmp ebx, edx
jae 0x50f168
mov dword [esp + 0x7c], ebx
mov edi, dword [edi + ebx*4]
mov dword [esp + 0xd8], eax
xor eax, eax
mov dword [esp + 0x78], eax
mov eax, dword [esp + 0x178]
mov dword [esp + 0x58], eax
mov dword [esp + 0xd0], ecx
mov ecx, dword [esp + 0x174]
mov dword [esp + 0x54], ecx
mov dword [esp + 0xc8], edx
mov edx, dword [esp + 0x70]
mov dword [esp + 0xa4], edx
mov dword [esp + 0xc0], ebx
mov ebx, dword [esp + 0x6c]
mov dword [esp + 0xa0], ebx
mov ecx, dword [esp + 0xd0]
mov eax, dword [esp + 0xd8]
mov edx, dword [esp + 0xc8]
mov ebx, dword [esp + 0xc0]
jmp 0x50e973
mov eax, dword [esp + 0x164]
mov dword [esp], eax
mov eax, dword [esp + 0x174]
mov dword [esp + 4], eax
mov eax, dword [esp + 0x178]
mov dword [esp + 8], eax
call fcn.005089d0
mov eax, dword [esp + 0x14]
mov ecx, dword [esp + 0x10]
mov edx, dword [esp + 0xc]
mov dword [esp + 0x1a0], edx
mov dword [esp + 0x1a4], ecx
mov dword [esp + 0x1a8], eax
add esp, 0x16c
ret
mov ecx, ebp
mov ebp, eax
jmp 0x50e568
mov edi, esi
xor eax, eax
jmp 0x50e554
mov eax, dword [esp + 0x194]
mov ecx, dword [eax]
and ecx, 1
cmp ecx, 1
jne 0x50ede8
mov ecx, dword [esp + 0x168]
mov dword [esp], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x17c]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x180]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x184]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x188]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
mov ecx, dword [esp + 0x190]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ebx
mov eax, dword [esp + 0x19c]
mov dword [esp + 0x2c], eax
call fcn.0050fb70
mov eax, dword [esp + 0x38]
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x1a0], edx
mov dword [esp + 0x1a4], ecx
mov dword [esp + 0x1a8], eax
add esp, 0x16c
ret
mov ecx, dword [esp + 0x168]
mov dword [esp], ecx
mov ecx, dword [esp + 0x48]
mov dword [esp + 4], ecx
mov ecx, dword [esp + 0x50]
mov dword [esp + 8], ecx
mov ecx, dword [esp + 0x17c]
mov dword [esp + 0xc], ecx
mov ecx, dword [esp + 0x180]
mov dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x184]
mov dword [esp + 0x14], ecx
mov ecx, dword [esp + 0x188]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
mov ecx, dword [esp + 0x190]
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ebx
mov eax, dword [esp + 0x19c]
mov dword [esp + 0x2c], eax
call fcn.0050f1a0
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov edx, dword [esp + 0x38]
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1a8], edx
add esp, 0x16c
ret
mov ebx, dword [esp + 0x198]
jmp 0x50e531
mov edx, dword [esp + 0x18c]
mov ebx, dword [esp + 0x198]
jmp 0x50e531
mov ebx, eax
jmp 0x50e4a1
cmp eax, 1
jne 0x50eef5
lea eax, [0x8eb040]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.00440500
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x184]
mov ebp, dword [esp + 0x198]
mov esi, dword [esp + 0x17c]
mov edi, dword [esp + 0x188]
mov ebx, 1
mov eax, 1
jmp 0x50e48e
lea ecx, [0x8eb040]
mov dword [esp], ecx
mov dword [esp + 4], eax
lea ecx, [eax + 4]
mov dword [esp + 0x50], ecx
mov dword [esp + 8], ecx
call fcn.00440500
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x184]
mov ebp, dword [esp + 0x198]
mov esi, dword [esp + 0x17c]
mov edi, dword [esp + 0x188]
mov ebx, dword [esp + 0x50]
mov eax, dword [esp + 0x180]
jmp 0x50e48e
cmp ebp, 1
jne 0x50ef8f
lea eax, [0x8eb040]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.00440500
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x184]
mov ebp, dword [esp + 0x198]
mov esi, dword [esp + 0x17c]
mov edi, dword [esp + 0x188]
mov ebx, 1
jmp 0x50e47e
lea eax, [0x8eb040]
mov dword [esp], eax
mov dword [esp + 4], ebp
lea ecx, [ebp + 4]
mov dword [esp + 0x4c], ecx
mov dword [esp + 8], ecx
call fcn.00440500
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 0x184]
mov ebp, dword [esp + 0x198]
mov esi, dword [esp + 0x17c]
mov edi, dword [esp + 0x188]
mov ebx, dword [esp + 0x4c]
jmp 0x50e47e
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], 0
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], ebx
mov dword [esp + 0x18], esi
mov eax, dword [esp + 0x180]
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], edx
mov eax, dword [esp + 0x194]
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ebp
mov eax, dword [esp + 0x19c]
mov dword [esp + 0x2c], eax
call fcn.0050bf40
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0x3c]
mov dword [esp + 0x1a0], edx
mov dword [esp + 0x1a4], ecx
mov dword [esp + 0x1a8], eax
add esp, 0x16c
ret
mov edi, dword [esp + 0x188]
jmp 0x50e472
cmp ebx, 1
jl 0x50f089
mov dword [ecx], 1
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x1a4], 1
mov dword [esp + 0x1a8], ebx
add esp, 0x16c
ret
lea eax, [0x8eb040]
mov dword [esp], eax
mov dword [esp + 4], 1
mov dword [esp + 8], 1
call fcn.00440500
mov ecx, dword [esp + 0xc]
mov ebx, 1
jmp 0x50f063
mov dword [esp + 0x1a0], ecx
mov dword [esp + 0x1a4], 0
mov dword [esp + 0x1a8], ebx
add esp, 0x16c
ret
mov edi, dword [esp + 0x194]
jmp 0x50e446
test ecx, ecx
jle 0x50f141
mov ebp, dword [esp + 0x190]
test ebp, ebp
jle 0x50f136
lea eax, [ecx - 1]
cmp eax, ecx
jae 0x50f184
lea edi, [ebx + ecx*4 - 4]
lea eax, [ebp - 1]
cmp eax, ebp
jae 0x50f17d
mov eax, dword [esp + 0x188]
lea ebp, [eax + ebp*4 - 4]
cmp ebp, edi
xchg ebp, ebx
sete bl
xchg ebp, ebx
xchg ebp, eax
test al, al
xchg ebp, eax
jne 0x50e420
mov eax, dword [esp + 0x174]
mov ecx, ebx
mov ebx, dword [esp + 0x178]
jmp 0x50e426
mov eax, dword [esp + 0x188]
xor ebp, ebp
jmp 0x50f117
mov ebp, dword [esp + 0x190]
jmp 0x50f136
mov ebx, dword [esp + 0x170]
mov esi, dword [esp + 0x17c]
xor ebp, ebp
jmp 0x50e416
mov edx, dword [esp + 0x184]
jmp 0x50f14a
mov eax, ebx
mov ecx, edx
call fcn.00457060
mov eax, esi
mov ecx, 0x100
call fcn.00457070
mov ecx, ebp
call fcn.00457060
call fcn.00457060
mov ecx, edx
call fcn.00457060
call fcn.00457060
nop
call fcn.004557a0
jmp fcn.0050e3a0