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

Disassembly:
sub esp, 0x38
push ebx
push ebp
mov ebp, dword [esp + 0x44]
mov edx, 4
push esi
mov esi, dword [esp + 0x4c]
mov ecx, esi
mov dword [esp + 0xc], 0
sub ecx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
mov ebx, dword [ebp]
sar ecx, 1
mov dword [esp + 0x34], 0
mov dword [esp + 0x28], 0
mov ecx, dword [eax + ecx*4]
xor eax, eax
test ecx, ecx
mov dword [esp + 0x20], ecx
setne al
test ecx, ecx
lea eax, [eax*2 + 0x8b]
mov dword [esp + 0x18], eax
lea eax, [ecx + 4]
cmovne edx, eax
mov eax, dword [ebx]
mov dword [esp + 0x30], edx
test eax, eax
je 0x5061f7
xor edx, edx
jmp 0x506246
mov eax, dword [ebx + 0x30]
mov ecx, dword [eax + 4]
lea edx, [ecx + 0x24]
cmp edx, 0x7f8
ja 0x506212
mov dword [eax + 4], edx
lea edx, [eax + 8]
add edx, ecx
jmp 0x506244
mov eax, dword [ebx + 0x28]
push dword [eax + 8]
mov eax, dword [eax]
push 0x800
call eax
mov edx, eax
add esp, 8
test edx, edx
jne 0x506232
mov dword [ebx], 2
jmp 0x506244
mov eax, dword [ebx + 0x30]
mov dword [edx], eax
mov dword [ebx + 0x30], edx
mov dword [edx + 4], 0x24
add edx, 8
mov eax, dword [ebx]
mov dword [esp + 0x14], edx
test eax, eax
je 0x506257
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0x38
ret
mov ecx, dword [esp + 0x50]
xorps xmm0, xmm0
movups xmmword [edx], xmm0
push edi
movups xmmword [edx + 0x10], xmm0
mov dword [edx + 0x20], 0
mov eax, dword [ecx + 8]
mov dword [edx], eax
mov dword [edx + 0x10], esi
mov dword [ecx + 8], edx
mov ecx, esi
sub ecx, dword [ebp + 8]
mov eax, dword [ebp + 0xc]
add ecx, 2
sar ecx, 1
mov dword [esp + 0x40], 1
mov edi, dword [eax + ecx*4]
mov dword [esp + 0x44], edi
cmp esi, dword [ebp + 0x4c]
jne 0x5062a3
mov dword [esp + 0x40], 0
jmp 0x5062af
xor eax, eax
cmp dword [ebp + 0x50], eax
cmove edi, eax
mov dword [esp + 0x44], edi
lea eax, [esp + 0x30]
push eax
lea eax, [esp + 0x40]
push eax
lea eax, [esp + 0x34]
push eax
lea eax, [esp + 0x5c]
push eax
lea eax, [esp + 0x5c]
push eax
push esi
push ebp
call fcn.005141e0
mov edx, eax
add esp, 0x1c
mov eax, dword [esp + 0x50]
mov dword [esp + 0x20], edx
cmp ax, 0x16
je 0x5062f1
mov esi, 4
mov dword [esp + 0x14], 0
jmp 0x5062fe
mov esi, 0x8d
mov dword [esp + 0x14], 8
cmp dword [esp + 0x40], 0
mov dword [esp + 0x28], esi
je 0x506361
test edi, edi
je 0x506361
push edi
push 0x8d
push 0
push 2
push 5
push ebx
call fcn.00519da0
add esp, 0x18
mov dword [esp + 0x40], eax
cmp dword [ebx], 0
jne 0x506359
push 8
push ebx
call fcn.00510f30
mov ecx, dword [esp + 0x20]
mov edx, eax
add esp, 8
test edx, edx
je 0x50634f
mov eax, dword [ecx + 0xc]
mov dword [edx + 4], eax
mov eax, dword [esp + 0x40]
mov dword [edx], eax
mov dword [ecx + 0xc], edx
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x20]
jmp 0x506365
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x18]
cmp dword [esp + 0x3c], 1
jbe 0x5064de
cmp dword [ebp + 0x60], 1
jne 0x506459
cmp dword [ebp + 0x11c], 0
jne 0x506459
cmp ax, 0x11
je 0x506459
cmp ax, 0x16
je 0x506459
mov eax, dword [esp + 0x3c]
add eax, eax
push eax
push 0x40
push 0
push 2
push 0
push 1
push 0x60
push ebx
call fcn.0051aaf0
mov edi, dword [esp + 0x38]
push 0
push 0xc
push 0
push 1
push 4
push ebx
add edi, 0xc
call fcn.00519da0
push eax
push edi
push ebx
call fcn.004fdb10
add esp, 0x44
push dword [esp + 0x3c]
push 0x40
push dword [esp + 0x1c]
push esi
push 0x20
push ebx
call fcn.0051a810
push ebx
call fcn.0051a7a0
push 0
push edi
push dword [esp + 0x44]
mov esi, eax
mov eax, dword [esp + 0x78]
push eax
push ebp
call fcn.00504380
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x58]
push 1
push 0x40
push ecx
push eax
push ecx
push eax
push 0x262
push ebx
call fcn.0051aaf0
add esp, 0x50
push esi
push 1
push ebx
call fcn.0051a710
add esp, 8
push eax
call fcn.0051bb30
mov edi, dword [esp + 0x4c]
add esp, 8
mov esi, dword [esp + 0x50]
mov dx, word [esp + 0x4c]
movzx eax, dx
add eax, 0xffffffdf
cmp eax, 0xc
ja case.0x506452.35
jmp dword [eax*4 + 0x507314]
push dword [esp + 0x3c]
push 0x40
push dword [esp + 0x1c]
push esi
push 0x20
push ebx
call fcn.0051a810
push ebx
call fcn.0051a7a0
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x34]
push 1
add eax, 0xc
push eax
push dword [esp + 0x44]
mov eax, dword [esp + 0x78]
push eax
push ebp
call fcn.00504380
mov eax, dword [esp + 0x44]
push 1
push 0x40
push eax
push esi
push eax
push esi
push 0x262
push ebx
call fcn.0051aaf0
add esp, 0x50
push 1
push ebx
call fcn.0051a710
mov ecx, eax
add esp, 8
test ecx, ecx
je 0x50643a
mov edx, dword [esp + 0x44]
mov esi, dword [esp + 0x50]
test edx, edx
je 0x50643e
mov eax, dword [ecx + 8]
and eax, 0xfffffffd
mov dword [ecx + 0xc], edx
or eax, 1
mov dword [ecx + 8], eax
jmp 0x50643e
jne 0x50643a
mov esi, dword [esp + 0x50]
lea eax, [ecx + 0xc]
push 1
push eax
push edx
push esi
push ebp
call fcn.00504380
add esp, 0x14
jmp 0x50643e
cmp si, 0x11
je 0x506cc7
cmp si, 0x16
je 0x506cc7
cmp si, 0xd
jne 0x50668a
cmp dword [ebp + 0x120], 0
jne 0x50668a
cmp dx, 0x21
jne 0x5065c3
mov esi, dword [esp + 0x24]
test esi, esi
jne 0x506546
push 2
push ebp
call fcn.004fdb40
add esp, 8
push 0
push 0xc
push esi
mov esi, dword [esp + 0x28]
push esi
push 0x20
push ebx
call fcn.0051a810
push 0
push 2
push dword [esp + 0x54]
push esi
push 0x20
push ebx
call fcn.0051a810
push 0
push 0xc
push 0
push 2
push 0x20
push ebx
call fcn.0051a810
add esp, 0x48
push ebp
call fcn.00518520
add esp, 4
test edi, edi
je 0x50659e
push 0
push 0xc
push edi
push 0x8d
push 0x20
push ebx
call fcn.0051a810
add esp, 0x18
push ebx
call fcn.0051a7a0
add esp, 4
mov ecx, dword [esp + 0x18]
push ebp
mov dword [ecx + 0x14], eax
call fcn.0050d290
mov eax, dword [esp + 0x34]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret
cmp dword [ebp + 0x11c], 0
jne 0x50668a
cmp dword [esp + 0x24], 0
jne 0x5065e2
push 2
push ebp
call fcn.004fdb40
add esp, 8
push 0
push 2
push dword [esp + 0x3c]
push dword [esp + 0x28]
push 0x20
push ebx
call fcn.0051a810
mov eax, dword [esp + 0x44]
add eax, eax
push eax
push 0x40
push 0
push 2
push 0
push 2
push 0x60
push ebx
call fcn.0051aaf0
add esp, 0x38
cmp dword [ebp + 0x60], 1
push 0
push 0xc
push 0
push 2
jne 0x506642
push 0
push 0
push 0x1062
push ebx
call fcn.0051aaf0
push 0
push 0xc
push 2
push 4
push ebx
call fcn.00519c30
add esp, 0x34
jmp 0x506662
push 5
push ebx
call fcn.00519da0
push ebp
mov esi, eax
call fcn.00518520
push ebx
call fcn.0051a7a0
push eax
push esi
call fcn.0051bb30
add esp, 0x28
push 0
push 2
push dword [esp + 0x2c]
push dword [esp + 0x28]
push 0x20
push ebx
call fcn.0051a810
add esp, 0x18
test edi, edi
je 0x50659e
push 0
push 2
jmp 0x50658d
xor ecx, ecx
mov dword [esp + 0x3c], ecx
cmp si, 0x1d
je 0x506713
cmp si, 0x1e
je 0x506713
mov eax, dword [esp + 0x30]
movzx esi, word [eax]
cmp esi, 0x1d
je 0x5066ad
cmp esi, 0x1e
jne 0x506713
cmp dword [ebp + 0x11c], ecx
je 0x5066d9
mov eax, dword [esp + 0x30]
mov dword [esp + 0x44], 0xfc00
mov ax, word [eax + 2]
and ax, word [esp + 0x44]
mov dword [esp + 0x44], 0xd800
cmp ax, word [esp + 0x44]
je 0x506713
cmp esi, 0x1e
jne 0x506843
mov esi, dword [esp + 0x30]
add esi, 2
push esi
push ebp
call fcn.004fe3f0
add esp, 8
test eax, eax
je 0x50683c
push esi
push ebp
call fcn.004fe2f0
mov ecx, eax
add esp, 8
mov dword [esp + 0x3c], ecx
test ecx, ecx
jne 0x50683e
cmp dword [ebp + 0x11c], 0
je 0x506b9c
mov esi, dword [esp + 0x24]
test esi, esi
jne 0x506733
push 2
push ebp
call fcn.004fdb40
add esp, 8
push 0
push 2
push esi
mov esi, dword [esp + 0x28]
push esi
push 0x20
push ebx
call fcn.0051a810
push 0
push 2
push dword [esp + 0x54]
push esi
push 0x20
push ebx
call fcn.0051a810
mov esi, dword [esp + 0x58]
add esp, 0x30
cmp word [esp + 0x4c], 0x27
jne 0x50677b
push dword [esp + 0x2c]
push 0x40
push dword [esp + 0x1c]
push esi
push 0x20
push ebx
call fcn.0051a810
add esp, 0x18
lea eax, [esp + 0x10]
push eax
push ebp
call fcn.0050d4e0
push ebx
call fcn.0051a7a0
push 0
mov dword [esp + 0x54], eax
lea eax, [esp + 0x20]
push eax
push dword [esp + 0x34]
push dword [esp + 0x68]
push ebp
call fcn.00504380
push 0
push 2
push dword [esp + 0x4c]
push dword [esp + 0x48]
push 0x20
push ebx
call fcn.0051a810
add esp, 0x38
cmp word [esp + 0x4c], 0x27
jne 0x5067f2
mov eax, dword [esp + 0x14]
push 1
push 0x40
push eax
push esi
push eax
push esi
push 0x262
push ebx
call fcn.0051aaf0
push 0
push ebx
call fcn.0051a710
push eax
lea eax, [esp + 0x3c]
push eax
push ebx
call fcn.004fdb10
add esp, 0x34
push dword [esp + 0x44]
push ebp
call fcn.0050d670
push 2
push 0x40
push 0
push 2
push 0
push 2
push 0x60
push ebx
call fcn.0051aaf0
push ebx
call fcn.0051a7a0
push eax
push dword [esp + 0x40]
call fcn.00519780
push dword [esp + 0x58]
push dword [esp + 0x54]
push 0
push 2
push 0x20
push ebx
call fcn.0051a810
add esp, 0x4c
jmp 0x506cb6
xor ecx, ecx
mov dx, word [esp + 0x4c]
mov eax, dword [esp + 0x30]
add dword [esp + 0x30], 4
movzx esi, word [eax + 2]
mov dword [esp + 0x44], esi
test ecx, 0x100
je 0x506866
movzx ecx, cl
shl ecx, 8
mov dword [esp + 0x3c], ecx
test ecx, ecx
je 0x506870
or esi, ecx
mov dword [esp + 0x44], esi
mov eax, dword [esp + 0x18]
mov word [eax + 0x1c], si
mov esi, dword [esp + 0x28]
mov dword [eax + 0x20], 1
mov dword [eax + 0x18], ecx
cmp dx, 0x27
jne 0x5068a4
mov eax, dword [esp + 0x2c]
inc eax
push eax
push 0x40
push dword [esp + 0x1c]
push esi
push 0x20
push ebx
call fcn.0051a810
add esp, 0x18
push 0x18
push ebx
call fcn.0051a710
push ebx
mov dword [esp + 0x4c], eax
call fcn.0051a7a0
mov dword [esp + 0x34], eax
add esp, 0xc
mov eax, dword [esp + 0x18]
add eax, 0xc
cmp word [esp + 0x4c], 0x27
mov dword [esp + 0x2c], eax
jne 0x506901
mov eax, dword [esp + 0x14]
push 1
push 0x40
push eax
push esi
push eax
push esi
push 0x262
push ebx
call fcn.0051aaf0
push 0
push ebx
call fcn.0051a710
push eax
push dword [esp + 0x58]
push ebx
call fcn.004fdb10
mov eax, dword [esp + 0x60]
add esp, 0x34
push 0
push eax
push dword [esp + 0x28]
mov eax, dword [esp + 0x5c]
push eax
push ebp
call fcn.00504380
add esp, 0x14
test edi, edi
je 0x50692f
push 0
push 2
push edi
push 0x8d
push 0x20
push ebx
call fcn.0051a810
add esp, 0x18
push ebx
call fcn.0051a7a0
push eax
push dword [esp + 0x48]
call fcn.0051bb30
push dword [esp + 0x38]
push ebp
call fcn.0050d4e0
add esp, 0x14
cmp dword [ebx], 0
jne 0x506967
push 0
push 0x82
push 0
push 1
push 0
push ebx
call fcn.0050fb00
add esp, 0x18
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x506985
push eax
push 0x40
push 0
push 1
push 0
push 1
push 0x66
push ebx
call fcn.0051aaf0
add esp, 0x20
push dword [esp + 0x28]
mov eax, dword [esp + 0x48]
movzx eax, ax
push eax
push 0x40
push 0
push 1
push 1
push ebx
mov dword [esp + 0x60], eax
call fcn.00519da0
add esp, 0x18
push eax
call fcn.0051bb30
mov eax, dword [esp + 0x2c]
add esp, 8
test eax, eax
jne 0x5069c6
push 2
push ebp
call fcn.004fdb40
mov eax, dword [esp + 0x2c]
add esp, 8
push 0
push 2
push eax
push dword [esp + 0x28]
push 0x20
push ebx
call fcn.0051a810
push 0
push 2
push dword [esp + 0x54]
push dword [esp + 0x40]
push 0x20
push ebx
call fcn.0051a810
add esp, 0x30
cmp word [esp + 0x4c], 0x27
jne 0x506a24
mov eax, dword [esp + 0x14]
push 1
push 0x40
push eax
push esi
push eax
push esi
push 0x262
push ebx
call fcn.0051aaf0
push 0
push ebx
call fcn.0051a710
push eax
lea eax, [esp + 0x3c]
push eax
push ebx
call fcn.004fdb10
add esp, 0x34
push ebx
call fcn.0051a7a0
push 0
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x18]
push eax
push dword [esp + 0x2c]
push dword [esp + 0x60]
push ebp
call fcn.00504380
add esp, 0x18
test edi, edi
je 0x506a5f
push 0
push 2
push edi
push 0x8d
push 0x20
push ebx
call fcn.0051a810
add esp, 0x18
lea eax, [esp + 0x10]
push eax
push ebp
call fcn.0050d4e0
add esp, 8
cmp dword [ebx], 0
jne 0x506a88
push 0
push 0x82
push 0
push 1
push 0
push ebx
call fcn.0050fb00
add esp, 0x18
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x506aa6
push eax
push 0x40
push 0
push 1
push 0
push 1
push 0x66
push ebx
call fcn.0051aaf0
add esp, 0x20
push dword [esp + 0x44]
push 0x40
push 0
push 1
push 1
push ebx
call fcn.00519da0
add esp, 0x18
mov dword [esp + 0x50], eax
cmp word [esp + 0x4c], 0x21
jne 0x506aec
mov esi, dword [esp + 0x34]
push esi
push eax
call fcn.0051bb30
mov edi, dword [esp + 0x2c]
push 0
push 2
push edi
push dword [esp + 0x30]
push 0x20
push ebx
call fcn.0051a810
add esp, 0x20
jmp 0x506b45
mov edi, dword [esp + 0x24]
push 0
push 2
push edi
push dword [esp + 0x28]
push 0x20
push ebx
call fcn.0051a810
push ebx
call fcn.0051a7a0
push eax
push dword [esp + 0x70]
call fcn.0051bb30
add esp, 0x24
cmp word [esp + 0x4c], 0x27
jne 0x506b41
mov eax, dword [esp + 0x14]
push 1
push 0x40
push eax
push esi
push eax
push esi
push 0x262
push ebx
call fcn.0051aaf0
mov esi, dword [esp + 0x54]
add esp, 0x20
mov eax, 1
jmp 0x506b4a
mov esi, dword [esp + 0x34]
mov eax, 0x18
push eax
push ebx
call fcn.0051a710
push esi
push eax
call fcn.0051bb30
push ebx
call fcn.0051a7a0
push eax
push dword [esp + 0x28]
call fcn.00519780
mov esi, dword [esp + 0x38]
push edi
push esi
push 0
push 2
push 0x20
push ebx
call fcn.0051a810
push 2
push 0x40
push 0
push 2
push 0
push 2
push 0x60
push ebx
call fcn.0051aaf0
add esp, 0x54
push 0
push 2
push edi
push esi
jmp 0x506593
cmp dword [esp + 0x24], 0
jne 0x506bae
push 2
push ebp
call fcn.004fdb40
add esp, 8
push 0
push 2
push dword [esp + 0x3c]
push dword [esp + 0x28]
push 0x20
push ebx
call fcn.0051a810
mov esi, dword [esp + 0x40]
add esp, 0x18
cmp word [esp + 0x4c], 0x27
jne 0x506be7
push dword [esp + 0x2c]
push 0x40
push dword [esp + 0x1c]
push esi
push 0x20
push ebx
call fcn.0051a810
add esp, 0x18
lea eax, [esp + 0x10]
push eax
push ebp
call fcn.0050d4e0
push ebx
call fcn.0051a7a0
push 0
mov dword [esp + 0x54], eax
lea eax, [esp + 0x48]
push eax
push dword [esp + 0x34]
push dword [esp + 0x68]
push ebp
call fcn.00504380
add esp, 0x20
cmp word [esp + 0x4c], 0x27
jne 0x506c4a
mov eax, dword [esp + 0x14]
push 1
push 0x40
push eax
push esi
push eax
push esi
push 0x262
push ebx
call fcn.0051aaf0
push 0
push ebx
call fcn.0051a710
push eax
lea eax, [esp + 0x3c]
push eax
push ebx
call fcn.004fdb10
add esp, 0x34
push dword [esp + 0x44]
push ebp
call fcn.0050d670
push 2
push 0x40
push 0
push 2
push 0
push 2
push 0x60
push ebx
call fcn.0051aaf0
push ebx
call fcn.0051a7a0
push eax
push dword [esp + 0x68]
call fcn.00519780
push 2
push 0x40
push 0
push 2
push 0
push 2
push 0x62
push ebx
call fcn.0051aaf0
add esp, 0x54
push ebx
call fcn.0051a7a0
push eax
push dword [esp + 0x18]
call fcn.00519780
push 0
push 2
push dword [esp + 0x38]
push dword [esp + 0x34]
push 0x20
push ebx
call fcn.0051a810
add esp, 0x24
test edi, edi
je 0x50659e
push 0
push 2
jmp 0x50658d
push 2
push ebp
call fcn.004fdb40
push 0
push 2
push 0
push 0x8b
push 0x20
push ebx
call fcn.0051a810
push 0
push 0x40
push 4
push 0x8b
push 0x20
push ebx
call fcn.0051a810
add esp, 0x38
cmp word [esp + 0x4c], 0x27
jne 0x506d18
push dword [esp + 0x2c]
push 0x40
push 8
push 0x8d
push 0x20
push ebx
call fcn.0051a810
add esp, 0x18
push ebx
call fcn.0051a7a0
mov edi, dword [esp + 0x1c]
push 1
mov dword [esp + 0x58], eax
lea eax, [edi + 0x18]
push eax
push dword [esp + 0x2c]
push esi
push ebp
call fcn.00504380
add esp, 0x18
cmp word [esp + 0x4c], 0x27
jne 0x506d91
push 8
push 0x8d
push 0
push 1
push 0x20
push ebx
call fcn.0051a810
push 1
push 0x40
push 0
push 1
push 0
push 1
push 0x262
push ebx
call fcn.0051aaf0
push 0
push ebx
call fcn.0051a710
add esp, 0x40
mov esi, eax
push 0
push 1
push 8
push 0x8d
push 0x20
push ebx
call fcn.0051a810
add esp, 0x18
jmp 0x506d93
xor esi, esi
push 1
push ebp
call fcn.004fdb40
push 0
push 2
push 0
push 0x8b
push 0x20
push ebx
call fcn.0051a810
add esp, 0x20
push dword [esp + 0x50]
push 0x18
push ebx
call fcn.0051a710
add esp, 8
push eax
call fcn.0051bb30
add esp, 8
test esi, esi
je 0x506ddd
push ebx
call fcn.0051a7a0
push eax
push esi
call fcn.0051bb30
add esp, 0xc
push ebx
call fcn.0051a7a0
add esp, 4
mov dword [edi + 0x14], eax
push ebp
call fcn.0050d290
mov eax, dword [esp + 0x34]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret
mov esi, dword [esp + 0x24]
test esi, esi
jne 0x506e11
push 1
push ebp
call fcn.004fdb40
add esp, 8
push 0
push 2
push esi
push dword [esp + 0x28]
push 0x20
push ebx
call fcn.0051a810
push ebx
call fcn.0051a7a0
mov ecx, dword [esp + 0x34]
add esp, 0x1c
mov dword [ecx + 0x14], eax
test edi, edi
je case.0x506452.35
push 0
push 2
push edi
push 0x8d
push 0x20
push ebx
call fcn.0051a810
add esp, 0x18
push ebp
call fcn.0050d290
mov eax, dword [esp + 0x34]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret
mov esi, dword [esp + 0x24]
test esi, esi
jne 0x506e77
push 2
push ebp
call fcn.004fdb40
add esp, 8
push 0
push 2
push esi
mov esi, dword [esp + 0x28]
push esi
push 0x20
push ebx
call fcn.0051a810
mov eax, dword [esp + 0x44]
inc eax
push eax
push 0x40
push dword [esp + 0x54]
push esi
push 0x20
push ebx
call fcn.0051a810
push ebx
call fcn.0051a7a0
add esp, 0x34
jmp 0x5065a7
mov esi, dword [esp + 0x24]
test esi, esi
jne 0x506ebf
push 1
push ebp
call fcn.004fdb40
add esp, 8
push 0
push 2
push esi
push dword [esp + 0x28]
push 0x20
push ebx
call fcn.0051a810
add esp, 0x18
cmp word [esp + 0x4c], 0x25
jne 0x50659e
mov eax, dword [esp + 0x18]
push 1
add eax, 0x18
push eax
push dword [esp + 0x28]
push dword [esp + 0x5c]
push ebp
call fcn.00504380
add esp, 0x14
jmp 0x50659e
cmp si, 0xd
jne 0x506f38
cmp dword [ebp + 0x120], 0
jne 0x506f38
push 0
push 0xc
push 0
push 2
push 0x20
push ebx
call fcn.0051a810
push ebp
call fcn.00518520
add esp, 0x1c
test edi, edi
je case.0x506452.35
push 0
push 0xc
jmp 0x506e3e
cmp dword [ebp + 0x11c], 0
je 0x506fe3
push 0
push 2
push dword [esp + 0x1c]
push dword [esp + 0x34]
push 0x20
push ebx
call fcn.0051a810
lea eax, [esp + 0x28]
push eax
push ebp
call fcn.0050d4e0
push ebx
call fcn.0051a7a0
push 0
mov esi, eax
lea eax, [esp + 0x38]
push eax
push dword [esp + 0x4c]
push dword [esp + 0x80]
push ebp
call fcn.00504380
push 0
push 2
push dword [esp + 0x54]
push dword [esp + 0x6c]
push 0x20
push ebx
call fcn.0051a810
add esp, 0x50
push esi
push ebp
call fcn.0050d670
push ebx
call fcn.0051a7a0
push eax
push dword [esp + 0x20]
call fcn.00519780
push dword [esp + 0x28]
mov esi, dword [esp + 0x40]
push esi
push 0
push 2
push 0x20
push ebx
call fcn.0051a810
add esp, 0x2c
test edi, edi
je case.0x506452.35
push 0
cmp esi, 4
jne 0x506e3c
push esi
jmp 0x506e3e
lea eax, [esp + 0x10]
push eax
push ebp
call fcn.0050d4e0
push ebx
call fcn.0051a7a0
push 0
mov esi, eax
lea eax, [esp + 0x48]
push eax
push dword [esp + 0x34]
push dword [esp + 0x68]
push ebp
call fcn.00504380
push esi
push ebp
call fcn.0050d670
push 2
push 0x40
push 0
push 2
push 0
push 2
push 0x60
push ebx
call fcn.0051aaf0
add esp, 0x48
push ebx
call fcn.0051a7a0
push eax
push dword [esp + 0x40]
call fcn.00519780
push 2
push 0x40
push 0
push 2
push 0
push 2
push 0x62
push ebx
call fcn.0051aaf0
push ebx
call fcn.0051a7a0
push eax
push dword [esp + 0x44]
call fcn.00519780
add esp, 0x38
jmp 0x506e32
cmp dword [ebp + 0x11c], 0
je 0x50714d
push 0
push 2
push 0xc
push 0x8d
push 0x20
push ebx
call fcn.0051a810
push dword [esp + 0x44]
mov edi, dword [esp + 0x44]
push 0x40
push dword [esp + 0x34]
push edi
push 0x20
push ebx
call fcn.0051a810
lea eax, [esp + 0x40]
push eax
push ebp
call fcn.0050d4e0
push ebx
call fcn.0051a7a0
push 0
mov esi, eax
lea eax, [esp + 0x50]
push eax
push dword [esp + 0x64]
push dword [esp + 0x98]
push ebp
call fcn.00504380
add esp, 0x50
push 0
push 2
push 0xc
push 0x8d
push 0x20
push ebx
call fcn.0051a810
mov eax, dword [esp + 0x2c]
push 1
push 0x40
push eax
push edi
push eax
push edi
push 0x262
push ebx
call fcn.0051aaf0
push 0
push ebx
call fcn.0051a710
add esp, 0x40
push eax
lea eax, [esp + 0x14]
push eax
push ebx
call fcn.004fdb10
push esi
push ebp
call fcn.0050d670
push ebx
call fcn.0051a7a0
push eax
push dword [esp + 0x2c]
call fcn.00519780
push 0xc
push 0x8d
push 0
push 2
push 0x20
push ebx
call fcn.0051a810
add esp, 0x38
push ebp
call fcn.0050d290
mov eax, dword [esp + 0x34]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret
cmp si, 0xd
jne 0x5071c7
mov eax, dword [esp + 0x2c]
add eax, eax
push eax
push 0x40
push 0
push 2
push 0
push 2
push 0x60
push ebx
call fcn.0051aaf0
add esp, 0x20
cmp dword [ebp + 0x60], 1
push 0
push 0xc
push 0
push 2
jne 0x5071a2
push 0
push 0
push 0x1062
push ebx
call fcn.0051aaf0
push 0
push 0xc
push 2
push 4
push ebx
call fcn.00519c30
add esp, 0x34
jmp 0x506e32
push 5
push ebx
call fcn.00519da0
push ebp
mov esi, eax
call fcn.00518520
push ebx
call fcn.0051a7a0
push eax
push esi
call fcn.0051bb30
add esp, 0x28
jmp 0x506e32
push dword [esp + 0x2c]
mov edi, dword [esp + 0x2c]
push 0x40
push dword [esp + 0x1c]
push edi
push 0x20
push ebx
call fcn.0051a810
lea eax, [esp + 0x28]
push eax
push ebp
call fcn.0050d4e0
push ebx
call fcn.0051a7a0
push 0
mov esi, eax
lea eax, [esp + 0x60]
push eax
push dword [esp + 0x4c]
push dword [esp + 0x80]
push ebp
call fcn.00504380
mov eax, dword [esp + 0x4c]
push 1
push 0x40
push eax
push edi
push eax
push edi
push 0x262
push ebx
call fcn.0051aaf0
add esp, 0x58
push 0
push ebx
call fcn.0051a710
push eax
lea eax, [esp + 0x1c]
push eax
push ebx
call fcn.004fdb10
push esi
push ebp
call fcn.0050d670
push 2
push 0x40
push 0
push 2
push 0
push 2
push 0x60
push ebx
call fcn.0051aaf0
push ebx
call fcn.0051a7a0
add esp, 0x40
push eax
push dword [esp + 0x3c]
call fcn.00519780
push 2
push 0x40
push 0
push 2
push 0
push 2
push 0x62
push ebx
call fcn.0051aaf0
push ebx
call fcn.0051a7a0
push eax
push dword [esp + 0x40]
call fcn.00519780
add esp, 0x34
push ebp
call fcn.0050d290
mov eax, dword [esp + 0x34]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x28]
push 0
push 2
push edi
push esi
push 0x20
push ebx
call fcn.0051a810
push 1
lea eax, [esp + 0x2c]
push eax
push dword [esp + 0x40]
push dword [esp + 0x74]
push ebp
call fcn.00504380
push 0
push 2
push edi
push esi
push 0x20
push ebx
call fcn.0051a810
add esp, 0x44
push ebx
call fcn.0051a7a0
push eax
push dword [esp + 0x18]
call fcn.00519780
push edi
push esi
push 0
push 2
push 0x20
push ebx
call fcn.0051a810
add esp, 0x24
push ebp
call fcn.0050d290
mov eax, dword [esp + 0x34]
add esp, 4
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x38
ret