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

Disassembly:
mov ecx, dword fs:[0x14]
mov ecx, dword [ecx]
cmp esp, dword [ecx + 8]
jbe 0x507c29
sub esp, 0x58
mov esi, dword [esp + 0x68]
mov ebp, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x64]
xor ebx, ebx
mov dword [esp + 0x74], ebx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], ebx
xor edx, edx
mov byte [esp + 0x2c], dl
mov byte [esp + 0x2d], dl
mov byte [esp + 0x2e], dl
mov byte [esp + 0x2f], dl
movzx edx, byte [esp + 0x70]
cmp edx, esi
je 0x507b64
cmp esi, 0x5c
je 0x507b64
cmp byte [esp + 0x71], 0
je 0x5079ef
cmp esi, 0x80
jge 0x5070f7
mov dword [esp], esi
call fcn.00508bf0
mov esi, dword [esp + 0x68]
mov ebp, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x64]
movzx ebx, byte [esp + 4]
cmp bl, 0
je 0x5070f7
xchg esi, eax
mov byte [esp + 0x23], al
xchg esi, eax
mov esi, ecx
mov edx, ebp
mov ebx, ebp
inc ebx
cmp ebx, eax
ja 0x5070c8
mov edi, ebx
mov ebx, esi
add ebx, edx
movzx ebp, byte [esp + 0x23]
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], eax
add esp, 0x58
ret
mov dword [esp], 0x5c5920
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebx
call fcn.0043d700
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov edx, edi
inc edi
mov esi, ecx
jmp 0x5070ab
cmp esi, 9
jg 0x507756
cmp esi, 7
jne 0x5071af
mov edx, ecx
mov ecx, eax
mov eax, ebp
add eax, 2
mov dword [esp + 0x3c], eax
cmp dword [esp + 0x3c], ecx
jbe 0x50715c
mov dword [esp], 0x5c5920
mov dword [esp + 0x4c], edx
mov dword [esp + 4], edx
mov dword [esp + 0x50], ebp
mov dword [esp + 8], ebp
mov dword [esp + 0x54], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x10], eax
call fcn.0043d700
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x60]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x54], ecx
cmp eax, ecx
ja 0x5071a8
mov dword [esp + 0x50], eax
mov ebx, ebp
mov ebp, edx
mov dword [esp + 0x4c], edx
add ebp, ebx
mov dword [esp], ebp
mov ebx, dword [0x6059d8]
mov dword [esp + 4], ebx
mov dword [esp + 8], 2
call fcn.00454a30
mov esi, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov dword [esp + 0x74], esi
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
add esp, 0x58
ret
call fcn.00429b80
ud2
cmp esi, 8
jne 0x507253
mov edx, ecx
mov ecx, eax
mov eax, ebp
add eax, 2
mov dword [esp + 0x3c], eax
cmp dword [esp + 0x3c], ecx
jbe 0x50720b
mov dword [esp], 0x5c5920
mov dword [esp + 0x4c], edx
mov dword [esp + 4], edx
mov dword [esp + 0x50], ebp
mov dword [esp + 8], ebp
mov dword [esp + 0x54], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x10], eax
call fcn.0043d700
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x60]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x54], ecx
cmp eax, ecx
ja 0x50724c
mov dword [esp + 0x50], eax
mov ebx, ebp
mov ebp, edx
mov dword [esp + 0x4c], edx
add ebp, ebx
mov dword [esp], ebp
mov ebx, dword [0x6059e0]
mov dword [esp + 4], ebx
mov dword [esp + 8], 2
call fcn.00454a30
mov esi, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
jmp 0x507198
call fcn.00429b80
ud2
cmp esi, 9
jne 0x5072f7
mov edx, ecx
mov ecx, eax
mov eax, ebp
add eax, 2
mov dword [esp + 0x3c], eax
cmp dword [esp + 0x3c], ecx
jbe 0x5072af
mov dword [esp], 0x5c5920
mov dword [esp + 0x4c], edx
mov dword [esp + 4], edx
mov dword [esp + 0x50], ebp
mov dword [esp + 8], ebp
mov dword [esp + 0x54], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x10], eax
call fcn.0043d700
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x60]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x54], ecx
cmp eax, ecx
ja 0x5072f0
mov dword [esp + 0x50], eax
mov ebx, ebp
mov ebp, edx
mov dword [esp + 0x4c], edx
add ebp, ebx
mov dword [esp], ebp
mov ebx, dword [0x605a00]
mov dword [esp + 4], ebx
mov dword [esp + 8], 2
call fcn.00454a30
mov esi, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
jmp 0x507198
call fcn.00429b80
ud2
cmp esi, 0x20
jge 0x5074a2
mov edx, ecx
mov ecx, eax
mov eax, ebp
add eax, 2
mov dword [esp + 0x3c], eax
cmp dword [esp + 0x3c], ecx
jbe 0x507353
mov dword [esp], 0x5c5920
mov dword [esp + 0x4c], edx
mov dword [esp + 4], edx
mov dword [esp + 0x50], ebp
mov dword [esp + 8], ebp
mov dword [esp + 0x54], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x10], eax
call fcn.0043d700
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x60]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x54], ecx
cmp eax, ecx
ja 0x50749b
mov dword [esp + 0x50], eax
mov ebx, ebp
mov ebp, edx
mov dword [esp + 0x4c], edx
add ebp, ebx
mov dword [esp], ebp
mov ebx, dword [0x605a18]
mov dword [esp + 4], ebx
mov dword [esp + 8], 2
call fcn.00454a30
mov esi, dword [esp + 0x4c]
mov edi, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov ebx, dword [esp + 0x68]
shr bl, 4
movzx ebx, bl
cmp ebx, 0x10
jae 0x507494
mov ebp, 0x5f9fff
add ebp, ebx
movzx ebx, byte [ebp]
mov byte [esp + 0x23], bl
mov dword [esp + 0x5c], esi
mov ecx, esi
mov dword [esp + 0x60], edi
mov ebx, edi
mov dword [esp + 0x64], edx
mov eax, edi
inc ebx
cmp ebx, edx
ja 0x50745e
mov dword [esp + 0x60], ebx
mov ebx, ecx
add ebx, eax
movzx ebp, byte [esp + 0x23]
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
mov ebx, dword [esp + 0x68]
and ebx, 0xf
movzx ebx, bl
cmp ebx, 0x10
jae 0x507457
mov ebp, 0x5f9fff
add ebp, ebx
movzx ebx, byte [ebp]
mov byte [esp + 0x23], bl
mov dword [esp + 0x5c], esi
mov edi, esi
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x64], edx
mov ecx, ebx
inc ebx
cmp ebx, edx
ja 0x507428
mov eax, ebx
mov ebx, edi
add ebx, ecx
movzx ebp, byte [esp + 0x23]
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
jmp 0x507198
mov dword [esp], 0x5c5920
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.0043d700
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, eax
inc eax
mov edi, esi
jmp 0x507416
call fcn.00429b10
ud2
mov dword [esp], 0x5c5920
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.0043d700
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov eax, ebx
inc ebx
mov dword [esp + 0x60], ebx
mov ecx, esi
jmp 0x5073d4
call fcn.00429b10
ud2
call fcn.00429b80
ud2
cmp esi, 0x10ffff
jle 0x507600
mov dword [esp + 0x68], 0xfffd
mov esi, ecx
mov ecx, ebp
add ecx, 2
mov dword [esp + 0x3c], eax
mov ebx, dword [esp + 0x3c]
cmp ecx, ebx
jbe 0x507509
mov dword [esp], 0x5c5920
mov dword [esp + 0x40], esi
mov dword [esp + 4], esi
mov dword [esp + 0x44], ebp
mov dword [esp + 8], ebp
mov dword [esp + 0x48], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x30], ecx
mov dword [esp + 0x10], ecx
call fcn.0043d700
mov ecx, dword [esp + 0x30]
mov ebp, dword [esp + 0x60]
mov esi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x48], eax
cmp ecx, eax
ja 0x5075f9
mov dword [esp + 0x44], ecx
mov ebx, ebp
mov ebp, esi
mov dword [esp + 0x40], esi
add ebp, ebx
mov dword [esp], ebp
mov ebx, dword [0x605a08]
mov dword [esp + 4], ebx
mov dword [esp + 8], 2
call fcn.00454a30
mov esi, dword [esp + 0x40]
mov eax, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
mov dword [esp + 0x24], 0xc
mov ebx, dword [esp + 0x24]
cmp ebx, 0
jl 0x507198
mov ecx, dword [esp + 0x24]
mov ebx, dword [esp + 0x68]
cmp ecx, 0x20
jae 0x5075f1
sar ebx, cl
and ebx, 0xf
cmp ebx, 0x10
jae 0x5075ea
mov ebp, 0x5f9fff
add ebp, ebx
movzx ebx, byte [ebp]
mov byte [esp + 0x23], bl
mov dword [esp + 0x5c], esi
mov edi, esi
mov dword [esp + 0x60], eax
mov ebx, eax
mov dword [esp + 0x64], edx
mov ecx, eax
inc ebx
cmp ebx, edx
ja 0x5075bb
mov eax, ebx
mov ebx, edi
add ebx, ecx
movzx ebp, byte [esp + 0x23]
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
mov ebx, dword [esp + 0x24]
sub ebx, 4
mov dword [esp + 0x24], ebx
jmp 0x507551
mov dword [esp], 0x5c5920
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.0043d700
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, eax
inc eax
mov edi, esi
jmp 0x5075a1
call fcn.00429b10
ud2
sar ebx, 0x1f
jmp 0x50756f
call fcn.00429b80
ud2
cmp esi, 0x10000
jl 0x5074b6
mov edx, ecx
mov ecx, eax
mov eax, ebp
add eax, 2
mov dword [esp + 0x3c], eax
cmp dword [esp + 0x3c], ecx
jbe 0x50765f
mov dword [esp], 0x5c5920
mov dword [esp + 0x4c], edx
mov dword [esp + 4], edx
mov dword [esp + 0x50], ebp
mov dword [esp + 8], ebp
mov dword [esp + 0x54], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x10], eax
call fcn.0043d700
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x60]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x54], ecx
cmp eax, ecx
ja 0x50774f
mov dword [esp + 0x50], eax
mov ebx, ebp
mov ebp, edx
mov dword [esp + 0x4c], edx
add ebp, ebx
mov dword [esp], ebp
mov ebx, dword [0x6059d0]
mov dword [esp + 4], ebx
mov dword [esp + 8], 2
call fcn.00454a30
mov esi, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
mov dword [esp + 0x28], 0x1c
mov ebx, dword [esp + 0x28]
cmp ebx, 0
jl 0x507198
mov ecx, dword [esp + 0x28]
mov ebx, dword [esp + 0x68]
cmp ecx, 0x20
jae 0x507747
sar ebx, cl
and ebx, 0xf
cmp ebx, 0x10
jae 0x507740
mov ebp, 0x5f9fff
add ebp, ebx
movzx ebx, byte [ebp]
mov byte [esp + 0x23], bl
mov dword [esp + 0x5c], esi
mov edi, esi
mov dword [esp + 0x60], eax
mov ebx, eax
mov dword [esp + 0x64], edx
mov ecx, eax
inc ebx
cmp ebx, edx
ja 0x507711
mov eax, ebx
mov ebx, edi
add ebx, ecx
movzx ebp, byte [esp + 0x23]
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
mov ebx, dword [esp + 0x28]
sub ebx, 4
mov dword [esp + 0x28], ebx
jmp 0x5076a7
mov dword [esp], 0x5c5920
mov dword [esp + 4], edi
mov dword [esp + 8], ecx
mov dword [esp + 0xc], edx
mov dword [esp + 0x10], ebx
call fcn.0043d700
mov esi, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x1c]
mov ecx, eax
inc eax
mov edi, esi
jmp 0x5076f7
call fcn.00429b10
ud2
sar ebx, 0x1f
jmp 0x5076c5
call fcn.00429b80
ud2
cmp esi, 0xb
jg 0x5078a7
cmp esi, 0xa
jne 0x507803
mov edx, ecx
mov ecx, eax
mov eax, ebp
add eax, 2
mov dword [esp + 0x3c], eax
cmp dword [esp + 0x3c], ecx
jbe 0x5077bb
mov dword [esp], 0x5c5920
mov dword [esp + 0x4c], edx
mov dword [esp + 4], edx
mov dword [esp + 0x50], ebp
mov dword [esp + 8], ebp
mov dword [esp + 0x54], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x10], eax
call fcn.0043d700
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x60]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x54], ecx
cmp eax, ecx
ja 0x5077fc
mov dword [esp + 0x50], eax
mov ebx, ebp
mov ebp, edx
mov dword [esp + 0x4c], edx
add ebp, ebx
mov dword [esp], ebp
mov ebx, dword [0x6059f0]
mov dword [esp + 4], ebx
mov dword [esp + 8], 2
call fcn.00454a30
mov esi, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
jmp 0x507198
call fcn.00429b80
ud2
cmp esi, 0xb
jne 0x5072f7
mov edx, ecx
mov ecx, eax
mov eax, ebp
add eax, 2
mov dword [esp + 0x3c], eax
cmp dword [esp + 0x3c], ecx
jbe 0x50785f
mov dword [esp], 0x5c5920
mov dword [esp + 0x4c], edx
mov dword [esp + 4], edx
mov dword [esp + 0x50], ebp
mov dword [esp + 8], ebp
mov dword [esp + 0x54], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x10], eax
call fcn.0043d700
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x60]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x54], ecx
cmp eax, ecx
ja 0x5078a0
mov dword [esp + 0x50], eax
mov ebx, ebp
mov ebp, edx
mov dword [esp + 0x4c], edx
add ebp, ebx
mov dword [esp], ebp
mov ebx, dword [0x605a10]
mov dword [esp + 4], ebx
mov dword [esp + 8], 2
call fcn.00454a30
mov esi, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
jmp 0x507198
call fcn.00429b80
ud2
cmp esi, 0xc
jne 0x50794b
mov edx, ecx
mov ecx, eax
mov eax, ebp
add eax, 2
mov dword [esp + 0x3c], eax
cmp dword [esp + 0x3c], ecx
jbe 0x507903
mov dword [esp], 0x5c5920
mov dword [esp + 0x4c], edx
mov dword [esp + 4], edx
mov dword [esp + 0x50], ebp
mov dword [esp + 8], ebp
mov dword [esp + 0x54], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x10], eax
call fcn.0043d700
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x60]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x54], ecx
cmp eax, ecx
ja 0x507944
mov dword [esp + 0x50], eax
mov ebx, ebp
mov ebp, edx
mov dword [esp + 0x4c], edx
add ebp, ebx
mov dword [esp], ebp
mov ebx, dword [0x6059e8]
mov dword [esp + 4], ebx
mov dword [esp + 8], 2
call fcn.00454a30
mov esi, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
jmp 0x507198
call fcn.00429b80
ud2
cmp esi, 0xd
jne 0x5072f7
mov edx, ecx
mov ecx, eax
mov eax, ebp
add eax, 2
mov dword [esp + 0x3c], eax
cmp dword [esp + 0x3c], ecx
jbe 0x5079a7
mov dword [esp], 0x5c5920
mov dword [esp + 0x4c], edx
mov dword [esp + 4], edx
mov dword [esp + 0x50], ebp
mov dword [esp + 8], ebp
mov dword [esp + 0x54], ecx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x30], eax
mov dword [esp + 0x10], eax
call fcn.0043d700
mov eax, dword [esp + 0x30]
mov ebp, dword [esp + 0x60]
mov edx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x54], ecx
cmp eax, ecx
ja 0x5079e8
mov dword [esp + 0x50], eax
mov ebx, ebp
mov ebp, edx
mov dword [esp + 0x4c], edx
add ebp, ebx
mov dword [esp], ebp
mov ebx, dword [0x6059f8]
mov dword [esp + 4], ebx
mov dword [esp + 8], 2
call fcn.00454a30
mov esi, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
mov edx, dword [esp + 0x54]
jmp 0x507198
call fcn.00429b80
ud2
mov dword [esp], esi
call fcn.00508bf0
mov esi, dword [esp + 0x68]
mov ebp, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x64]
movzx ebx, byte [esp + 4]
cmp bl, 0
jne 0x507a42
cmp byte [esp + 0x72], 0
je 0x507b5f
mov dword [esp], esi
call fcn.00508f20
mov esi, dword [esp + 0x68]
mov ebp, dword [esp + 0x60]
mov ecx, dword [esp + 0x5c]
mov eax, dword [esp + 0x64]
movzx ebx, byte [esp + 4]
cmp bl, 0
je 0x507b5f
lea ebx, [esp + 0x2c]
cmp ebx, 0
je 0x507b58
mov edx, 4
mov ecx, 4
mov dword [esp + 0x4c], ebx
mov dword [esp], ebx
mov dword [esp + 0x50], edx
mov dword [esp + 4], edx
mov dword [esp + 0x54], ecx
mov dword [esp + 8], ecx
mov dword [esp + 0xc], esi
call fcn.005908e0
mov eax, dword [esp + 0x10]
cmp eax, 4
ja 0x507b51
lea ebx, [esp + 0x2c]
cmp ebx, 0
je 0x507b4a
mov dword [esp + 0x50], eax
mov dword [esp + 0x54], 4
mov dword [esp + 0x4c], ebx
mov edi, dword [esp + 0x5c]
mov ecx, dword [esp + 0x60]
mov eax, dword [esp + 0x64]
mov ebx, dword [esp + 0x50]
mov esi, ecx
add ecx, ebx
cmp ecx, eax
jbe 0x507af7
mov dword [esp], 0x5c5920
mov dword [esp + 0x40], edi
mov dword [esp + 4], edi
mov dword [esp + 0x44], esi
mov dword [esp + 8], esi
mov dword [esp + 0x48], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x34], ecx
mov dword [esp + 0x10], ecx
call fcn.0043d700
mov ecx, dword [esp + 0x34]
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov dword [esp + 0x48], eax
cmp ecx, eax
ja 0x507b43
mov dword [esp + 0x44], ecx
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x60]
mov ebp, edi
mov dword [esp + 0x40], edi
add ebp, ebx
mov dword [esp], ebp
mov ebx, dword [esp + 0x4c]
mov dword [esp + 4], ebx
mov dword [esp + 8], eax
call fcn.00454a30
mov edx, dword [esp + 0x40]
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x48]
mov dword [esp + 0x74], edx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
add esp, 0x58
ret
call fcn.00429b80
ud2
mov dword [ebx], eax
jmp 0x507a93
call fcn.00429b80
ud2
mov dword [ebx], eax
jmp 0x507a4f
jmp 0x5070f7
mov edi, ecx
mov edx, ebp
mov dword [esp + 0x38], eax
mov ebx, ebp
inc ebx
mov ebp, dword [esp + 0x38]
cmp ebx, ebp
ja 0x507beb
mov dword [esp + 0x60], ebx
mov ebx, edi
add ebx, edx
mov byte [ebx], 0x5c
xchg esi, eax
mov byte [esp + 0x23], al
xchg esi, eax
mov dword [esp + 0x5c], ecx
mov esi, ecx
mov ebx, dword [esp + 0x60]
mov dword [esp + 0x64], eax
mov edx, ebx
inc ebx
cmp ebx, eax
ja 0x507bbc
mov edi, ebx
mov ebx, esi
add ebx, edx
movzx ebp, byte [esp + 0x23]
xchg ebp, eax
mov byte [ebx], al
xchg ebp, eax
mov dword [esp + 0x74], ecx
mov dword [esp + 0x78], edi
mov dword [esp + 0x7c], eax
add esp, 0x58
ret
mov dword [esp], 0x5c5920
mov dword [esp + 4], esi
mov dword [esp + 8], edx
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ebx
call fcn.0043d700
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov edx, edi
inc edi
mov esi, ecx
jmp 0x507b9f
mov dword [esp], 0x5c5920
mov dword [esp + 4], edi
mov dword [esp + 8], edx
mov ebp, dword [esp + 0x38]
mov dword [esp + 0xc], ebp
mov dword [esp + 0x10], ebx
call fcn.0043d700
mov esi, dword [esp + 0x68]
mov ecx, dword [esp + 0x14]
mov ebx, dword [esp + 0x18]
mov eax, dword [esp + 0x1c]
mov edx, ebx
inc ebx
mov dword [esp + 0x60], ebx
mov edi, ecx
jmp 0x507b7b
call fcn.00452240
jmp fcn.00507000