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

Disassembly:
sub esp, 0x120
push esi
push edi
mov edi, ecx
lea eax, [edi + 0x20]
push eax
mov dword [esp + 0x20], edi
call dword [0x100b0088]
mov eax, dword [esp + 0x13c]
lea ecx, [esp + 0x14]
push ecx
mov ecx, dword [esp + 0x13c]
lea edx, [esp + 0xc]
push edx
mov edx, dword [esp + 0x13c]
push eax
mov eax, dword [esp + 0x13c]
push ecx
push edx
xor esi, esi
push eax
mov ecx, edi
mov dword [esp + 0x20], esi
mov dword [esp + 0x24], esi
call fcn.00501da0
cmp dword [esp + 0x14], esi
jne 0x502d38
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 8]
mov edx, dword [esp + 0xc]
pop edi
mov dword [eax + 4], edx
mov dword [eax], ecx
pop esi
add esp, 0x120
ret 0x14
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 8]
push ecx
mov dword [esp + 0x98], ecx
push eax
lea ecx, [esp + 0x28]
mov dword [esp + 0x98], eax
mov dword [esp + 0x28], esi
mov dword [esp + 0x30], esi
mov dword [esp + 0x34], esi
call fcn.00507320
mov eax, dword [esp + 0x20]
mov ecx, dword [esp + 0x2c]
mov dword [eax + 0x28], 1
mov eax, dword [esp + 0x28]
cmp eax, esi
jne 0x502d80
cmp ecx, esi
je 0x502d87
push ecx
push eax
call fcn.0047d110
push ebx
push ebp
lea esp, [esp]
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x14]
xor edi, edi
cmp ebx, edi
jne 0x502da2
cmp eax, edi
je 0x502db2
push eax
push ebx
mov dword [esp + 0x134], eax
call fcn.0047d0f0
jmp 0x502dbd
xor ebx, ebx
mov dword [esp + 0x12c], edi
xor eax, eax
mov ecx, dword [eax + 0x20]
cmp ecx, edi
mov eax, dword [eax + 0x24]
jne 0x502dcb
cmp eax, edi
je 0x502dd8
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.0047d0f0
jmp 0x502ddc
xor esi, esi
xor eax, eax
test esi, esi
mov ebp, dword [eax + 0x28]
jne 0x502de7
test edi, edi
je 0x502dee
push edi
push esi
call fcn.0047d110
test ebx, ebx
jne 0x502dfb
cmp dword [esp + 0x12c], ebx
je 0x502e09
mov ecx, dword [esp + 0x12c]
push ecx
push ebx
call fcn.0047d110
xor eax, eax
cmp ebp, eax
je 0x503af1
cmp dword [esp + 0x10], eax
jne 0x502e1f
cmp dword [esp + 0x14], eax
je 0x502e3e
mov edi, dword [esp + 0x14]
mov ebx, dword [esp + 0x10]
push edi
push ebx
mov dword [esp + 0xe0], ebx
mov dword [esp + 0xe4], edi
call fcn.0047d0f0
jmp 0x502e54
mov ebx, dword [esp + 0x10]
mov edi, dword [esp + 0x14]
mov dword [esp + 0xd8], eax
mov dword [esp + 0xdc], eax
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
xor esi, esi
cmp ecx, esi
jne 0x502e64
cmp eax, esi
je 0x502e7b
push eax
push ecx
mov dword [esp + 0x110], ecx
mov dword [esp + 0x114], eax
call fcn.0047d0f0
jmp 0x502e8b
mov dword [esp + 0x108], esi
mov dword [esp + 0x10c], esi
xor eax, eax
mov ecx, dword [eax + 0x20]
cmp ecx, esi
mov eax, dword [eax + 0x24]
jne 0x502e99
cmp eax, esi
je 0x502eb2
push eax
push ecx
mov dword [esp + 0xf0], ecx
mov dword [esp + 0xf4], eax
call fcn.0047d0f0
mov ebp, eax
jmp 0x502ec2
mov dword [esp + 0xe8], esi
mov dword [esp + 0xec], esi
xor ebp, ebp
cmp ebx, esi
jne 0x502eca
cmp edi, esi
je 0x502ed9
mov edi, dword [esp + 0x14]
push edi
push ebx
mov esi, ebx
call fcn.0047d0f0
jmp 0x502edf
xor esi, esi
xor edi, edi
xor eax, eax
mov edx, dword [eax + 0x20]
cmp edx, dword [ebp + 0x10]
jne 0x502ef4
mov eax, dword [eax + 0x24]
cmp eax, dword [ebp + 0x14]
mov byte [esp + 0x1b], 1
je 0x502ef9
mov byte [esp + 0x1b], 0
test esi, esi
jne 0x502f01
test edi, edi
je 0x502f08
push edi
push esi
call fcn.0047d110
cmp dword [esp + 0xe8], 0
jne 0x502f1c
cmp dword [esp + 0xec], 0
je 0x502f31
mov ecx, dword [esp + 0xec]
mov edx, dword [esp + 0xe8]
push ecx
push edx
call fcn.0047d110
cmp dword [esp + 0x108], 0
jne 0x502f45
cmp dword [esp + 0x10c], 0
je 0x502f5a
mov eax, dword [esp + 0x10c]
mov ecx, dword [esp + 0x108]
push eax
push ecx
call fcn.0047d110
cmp dword [esp + 0xd8], 0
jne 0x502f6e
cmp dword [esp + 0xdc], 0
je 0x502f83
mov edx, dword [esp + 0xdc]
mov eax, dword [esp + 0xd8]
push edx
push eax
call fcn.0047d110
xor eax, eax
cmp byte [esp + 0x1b], al
je 0x50354c
cmp ebx, eax
jne 0x502f99
cmp dword [esp + 0x14], eax
je 0x502fb4
mov eax, dword [esp + 0x14]
push eax
push ebx
mov dword [esp + 0x120], ebx
mov dword [esp + 0x124], eax
call fcn.0047d0f0
jmp 0x502fc2
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], eax
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
xor esi, esi
cmp ecx, esi
jne 0x502fd2
cmp eax, esi
je 0x502fe3
push eax
push ecx
mov dword [esp + 0x78], ecx
mov dword [esp + 0x7c], eax
call fcn.0047d0f0
jmp 0x502fed
mov dword [esp + 0x70], esi
mov dword [esp + 0x74], esi
xor eax, eax
mov ecx, dword [eax + 0x20]
cmp ecx, esi
mov eax, dword [eax + 0x24]
jne 0x502ffb
cmp eax, esi
je 0x503008
push eax
push ecx
mov esi, ecx
mov ebp, eax
call fcn.0047d0f0
jmp 0x50300c
xor ebp, ebp
xor eax, eax
test esi, esi
mov edi, dword [eax + 0x18]
mov ebx, dword [eax + 0x1c]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], ebx
jne 0x503022
test ebp, ebp
je 0x503029
push ebp
push esi
call fcn.0047d110
cmp dword [esp + 0x70], 0
jne 0x503037
cmp dword [esp + 0x74], 0
je 0x503046
mov ecx, dword [esp + 0x74]
mov edx, dword [esp + 0x70]
push ecx
push edx
call fcn.0047d110
cmp dword [esp + 0x118], 0
jne 0x50305a
cmp dword [esp + 0x11c], 0
je 0x50306f
mov eax, dword [esp + 0x11c]
mov ecx, dword [esp + 0x118]
push eax
push ecx
call fcn.0047d110
test edi, edi
jne 0x503077
test ebx, ebx
je 0x503084
push ebx
push edi
mov esi, edi
mov ebp, ebx
call fcn.0047d0f0
jmp 0x50308a
xor esi, esi
xor ebp, ebp
xor eax, eax
test esi, esi
mov edi, dword [eax + 0x28]
jne 0x503095
test ebp, ebp
je 0x50309c
push ebp
push esi
call fcn.0047d110
xor eax, eax
cmp edi, eax
je 0x50328e
cmp dword [esp + 0x10], eax
jne 0x5030b2
cmp dword [esp + 0x14], eax
je 0x5030c3
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
push ebx
push edi
call fcn.0047d0f0
jmp 0x5030c9
xor edi, edi
xor ebx, ebx
xor eax, eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0x5030d7
test eax, eax
je 0x5030e4
push eax
push ecx
mov esi, ecx
mov ebp, eax
call fcn.0047d0f0
jmp 0x5030ea
xor esi, esi
xor ebp, ebp
xor eax, eax
test esi, esi
mov dword [eax + 0x28], 0
jne 0x5030f9
test ebp, ebp
je 0x503100
push ebp
push esi
call fcn.0047d110
test edi, edi
jne 0x503108
test ebx, ebx
je 0x50310f
push ebx
push edi
call fcn.0047d110
cmp dword [esp + 0x1c], 0
jne 0x50311d
cmp dword [esp + 0x20], 0
je 0x50312e
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
push edi
push esi
call fcn.0047d0f0
jmp 0x503134
xor esi, esi
xor edi, edi
xor eax, eax
xor ebx, ebx
cmp esi, ebx
mov dword [eax + 0x28], ebx
jne 0x503141
cmp edi, ebx
je 0x503148
push edi
push esi
call fcn.0047d110
mov ecx, dword [esp + 0x10]
cmp ecx, ebx
mov eax, dword [esp + 0x14]
jne 0x503158
cmp eax, ebx
je 0x50316f
push eax
push ecx
mov dword [esp + 0xc0], ecx
mov dword [esp + 0xc4], eax
call fcn.0047d0f0
jmp 0x50317f
mov dword [esp + 0xb8], ebx
mov dword [esp + 0xbc], ebx
xor eax, eax
mov ecx, dword [eax + 0x20]
cmp ecx, ebx
mov eax, dword [eax + 0x24]
jne 0x50318d
cmp eax, ebx
je 0x50319a
push eax
push ecx
mov ebx, ecx
mov ebp, eax
call fcn.0047d0f0
jmp 0x5031a0
xor ebx, ebx
xor ebp, ebp
xor eax, eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0x5031ae
test eax, eax
je 0x5031bb
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.0047d0f0
jmp 0x5031c1
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov dword [eax + 0x28], 1
jne 0x5031d0
test edi, edi
je 0x5031d7
push edi
push esi
call fcn.0047d110
test ebx, ebx
jne 0x5031df
test ebp, ebp
je 0x5031e6
push ebp
push ebx
call fcn.0047d110
cmp dword [esp + 0xb8], 0
jne 0x5031fa
cmp dword [esp + 0xbc], 0
je 0x50320f
mov edx, dword [esp + 0xbc]
mov eax, dword [esp + 0xb8]
push edx
push eax
call fcn.0047d110
cmp dword [esp + 0x10], 0
jne 0x50321d
cmp dword [esp + 0x14], 0
je 0x503232
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push ecx
push eax
mov ebx, eax
mov ebp, ecx
call fcn.0047d0f0
jmp 0x503238
xor ebx, ebx
xor ebp, ebp
xor eax, eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0x503246
test eax, eax
je 0x503253
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.0047d0f0
jmp 0x503259
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x24]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
jne 0x50326f
test edi, edi
je 0x503276
push edi
push esi
call fcn.0047d110
test ebx, ebx
jne 0x503282
test ebp, ebp
je 0x502d90
push ebp
push ebx
call fcn.0047d110
jmp 0x502d90
cmp dword [esp + 0x10], eax
jne 0x50329a
cmp dword [esp + 0x14], eax
je 0x5032b9
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
push ebx
push ebp
mov dword [esp + 0x100], ebp
mov dword [esp + 0x104], ebx
call fcn.0047d0f0
jmp 0x5032cf
mov ebp, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0xf8], eax
mov dword [esp + 0xfc], eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0x5032dd
test eax, eax
je 0x5032ea
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.0047d0f0
jmp 0x5032f0
xor esi, esi
xor edi, edi
xor eax, eax
cmp ebp, dword [eax + 0x18]
jne 0x5032ff
cmp ebx, dword [eax + 0x1c]
mov byte [esp + 0x1b], 1
je 0x503304
mov byte [esp + 0x1b], 0
test esi, esi
jne 0x50330c
test edi, edi
je 0x503313
push edi
push esi
call fcn.0047d110
cmp dword [esp + 0xf8], 0
jne 0x503327
cmp dword [esp + 0xfc], 0
je 0x50333c
mov eax, dword [esp + 0xfc]
mov ecx, dword [esp + 0xf8]
push eax
push ecx
call fcn.0047d110
cmp byte [esp + 0x1b], 0
je 0x50339c
xor esi, esi
push ebx
push ebp
lea ecx, [esp + 0x50]
mov dword [esp + 0x50], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], esi
call fcn.00507320
mov eax, dword [esp + 0x48]
mov ebp, dword [eax + 0x20]
mov ebx, dword [eax + 0x24]
mov eax, dword [esp + 0x50]
cmp eax, esi
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebx
jne 0x50337e
cmp ecx, esi
je 0x503385
push ecx
push eax
call fcn.0047d110
mov ecx, dword [esp + 0x24]
push ebx
push ebp
mov dword [esp + 0x58], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x50], esi
call fcn.004f7680
test ebp, ebp
jne 0x5033a4
test ebx, ebx
je 0x5033b5
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
push ebx
push ebp
call fcn.0047d0f0
jmp 0x5033bb
xor ebp, ebp
xor ebx, ebx
xor eax, eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0x5033c9
test eax, eax
je 0x5033d6
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.0047d0f0
jmp 0x5033dc
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov dword [eax + 0x28], 0
jne 0x5033eb
test edi, edi
je 0x5033f2
push edi
push esi
call fcn.0047d110
test ebp, ebp
jne 0x5033fa
test ebx, ebx
je 0x503401
push ebx
push ebp
call fcn.0047d110
xor eax, eax
cmp dword [esp + 0x10], eax
jne 0x50340f
cmp dword [esp + 0x14], eax
je 0x50342e
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push ecx
push eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], ecx
call fcn.0047d0f0
jmp 0x50343c
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0x50344a
test eax, eax
je 0x503457
push eax
push ecx
mov ebx, ecx
mov ebp, eax
call fcn.0047d0f0
jmp 0x50345d
xor ebx, ebx
xor ebp, ebp
xor eax, eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0x50346b
test eax, eax
je 0x503478
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.0047d0f0
jmp 0x50347e
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov dword [eax + 0x28], 1
jne 0x50348d
test edi, edi
je 0x503494
push edi
push esi
call fcn.0047d110
test ebx, ebx
jne 0x50349c
test ebp, ebp
je 0x5034a3
push ebp
push ebx
call fcn.0047d110
cmp dword [esp + 0x80], 0
jne 0x5034b7
cmp dword [esp + 0x84], 0
je 0x5034cc
mov edx, dword [esp + 0x84]
mov eax, dword [esp + 0x80]
push edx
push eax
call fcn.0047d110
cmp dword [esp + 0x10], 0
jne 0x5034da
cmp dword [esp + 0x14], 0
je 0x5034ed
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
push ebp
mov ecx, ebx
push ecx
call fcn.0047d0f0
jmp 0x5034f3
xor ebx, ebx
xor ebp, ebp
xor eax, eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0x503501
test eax, eax
je 0x50350e
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.0047d0f0
jmp 0x503514
xor esi, esi
xor edi, edi
xor eax, eax
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
mov ecx, dword [esp + 0x24]
push edx
push eax
call fcn.004f7210
test esi, esi
jne 0x50352d
test edi, edi
je 0x503534
push edi
push esi
call fcn.0047d110
test ebx, ebx
jne 0x503540
test ebp, ebp
je 0x502d90
push ebp
push ebx
call fcn.0047d110
jmp 0x502d90
cmp ebx, eax
jne 0x503556
cmp dword [esp + 0x14], eax
je 0x503571
mov eax, dword [esp + 0x14]
push eax
push ebx
mov dword [esp + 0xb0], ebx
mov dword [esp + 0xb4], eax
call fcn.0047d0f0
jmp 0x50357f
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], eax
mov ecx, dword [eax + 0x20]
mov eax, dword [eax + 0x24]
xor esi, esi
cmp ecx, esi
jne 0x50358f
cmp eax, esi
je 0x5035a6
push eax
push ecx
mov dword [esp + 0x98], ecx
mov dword [esp + 0x9c], eax
call fcn.0047d0f0
jmp 0x5035b6
mov dword [esp + 0x90], esi
mov dword [esp + 0x94], esi
xor eax, eax
mov ecx, dword [eax + 0x20]
cmp ecx, esi
mov eax, dword [eax + 0x24]
jne 0x5035c4
cmp eax, esi
je 0x5035d1
push eax
push ecx
mov esi, ecx
mov ebp, eax
call fcn.0047d0f0
jmp 0x5035d5
xor ebp, ebp
xor eax, eax
test esi, esi
mov edi, dword [eax + 0x10]
mov ebx, dword [eax + 0x14]
mov dword [esp + 0x1c], edi
mov dword [esp + 0x20], ebx
jne 0x5035eb
test ebp, ebp
je 0x5035f2
push ebp
push esi
call fcn.0047d110
cmp dword [esp + 0x90], 0
jne 0x503606
cmp dword [esp + 0x94], 0
je 0x50361b
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x90]
push ecx
push edx
call fcn.0047d110
cmp dword [esp + 0xa8], 0
jne 0x50362f
cmp dword [esp + 0xac], 0
je 0x503644
mov eax, dword [esp + 0xac]
mov ecx, dword [esp + 0xa8]
push eax
push ecx
call fcn.0047d110
test edi, edi
jne 0x50364c
test ebx, ebx
je 0x503659
push ebx
push edi
mov esi, edi
mov ebp, ebx
call fcn.0047d0f0
jmp 0x50365f
xor esi, esi
xor ebp, ebp
xor eax, eax
test esi, esi
mov edi, dword [eax + 0x28]
jne 0x50366a
test ebp, ebp
je 0x503671
push ebp
push esi
call fcn.0047d110
xor eax, eax
cmp edi, eax
je 0x503863
cmp dword [esp + 0x10], eax
jne 0x503687
cmp dword [esp + 0x14], eax
je 0x503698
mov ebx, dword [esp + 0x14]
mov edi, dword [esp + 0x10]
push ebx
push edi
call fcn.0047d0f0
jmp 0x50369e
xor edi, edi
xor ebx, ebx
xor eax, eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0x5036ac
test eax, eax
je 0x5036b9
push eax
push ecx
mov esi, ecx
mov ebp, eax
call fcn.0047d0f0
jmp 0x5036bf
xor esi, esi
xor ebp, ebp
xor eax, eax
test esi, esi
mov dword [eax + 0x28], 0
jne 0x5036ce
test ebp, ebp
je 0x5036d5
push ebp
push esi
call fcn.0047d110
test edi, edi
jne 0x5036dd
test ebx, ebx
je 0x5036e4
push ebx
push edi
call fcn.0047d110
cmp dword [esp + 0x1c], 0
jne 0x5036f2
cmp dword [esp + 0x20], 0
je 0x503703
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x1c]
push edi
push esi
call fcn.0047d0f0
jmp 0x503709
xor esi, esi
xor edi, edi
xor eax, eax
xor ebx, ebx
cmp esi, ebx
mov dword [eax + 0x28], ebx
jne 0x503716
cmp edi, ebx
je 0x50371d
push edi
push esi
call fcn.0047d110
mov ecx, dword [esp + 0x10]
cmp ecx, ebx
mov eax, dword [esp + 0x14]
jne 0x50372d
cmp eax, ebx
je 0x503744
push eax
push ecx
mov dword [esp + 0xd0], ecx
mov dword [esp + 0xd4], eax
call fcn.0047d0f0
jmp 0x503754
mov dword [esp + 0xc8], ebx
mov dword [esp + 0xcc], ebx
xor eax, eax
mov ecx, dword [eax + 0x20]
cmp ecx, ebx
mov eax, dword [eax + 0x24]
jne 0x503762
cmp eax, ebx
je 0x50376f
push eax
push ecx
mov ebx, ecx
mov ebp, eax
call fcn.0047d0f0
jmp 0x503775
xor ebx, ebx
xor ebp, ebp
xor eax, eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0x503783
test eax, eax
je 0x503790
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.0047d0f0
jmp 0x503796
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov dword [eax + 0x28], 1
jne 0x5037a5
test edi, edi
je 0x5037ac
push edi
push esi
call fcn.0047d110
test ebx, ebx
jne 0x5037b4
test ebp, ebp
je 0x5037bb
push ebp
push ebx
call fcn.0047d110
cmp dword [esp + 0xc8], 0
jne 0x5037cf
cmp dword [esp + 0xcc], 0
je 0x5037e4
mov edx, dword [esp + 0xcc]
mov eax, dword [esp + 0xc8]
push edx
push eax
call fcn.0047d110
cmp dword [esp + 0x10], 0
jne 0x5037f2
cmp dword [esp + 0x14], 0
je 0x503807
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push ecx
push eax
mov ebx, eax
mov ebp, ecx
call fcn.0047d0f0
jmp 0x50380d
xor ebx, ebx
xor ebp, ebp
xor eax, eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0x50381b
test eax, eax
je 0x503828
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.0047d0f0
jmp 0x50382e
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov ecx, dword [eax + 0x20]
mov edx, dword [eax + 0x24]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edx
jne 0x503844
test edi, edi
je 0x50384b
push edi
push esi
call fcn.0047d110
test ebx, ebx
jne 0x503857
test ebp, ebp
je 0x502d90
push ebp
push ebx
call fcn.0047d110
jmp 0x502d90
cmp dword [esp + 0x10], eax
jne 0x50386f
cmp dword [esp + 0x14], eax
je 0x503888
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
push ebx
push ebp
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], ebx
call fcn.0047d0f0
jmp 0x503898
mov ebp, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
mov dword [esp + 0x40], eax
mov dword [esp + 0x44], eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0x5038a6
test eax, eax
je 0x5038b3
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.0047d0f0
jmp 0x5038b9
xor esi, esi
xor edi, edi
xor eax, eax
cmp ebp, dword [eax + 0x10]
jne 0x5038c8
cmp ebx, dword [eax + 0x14]
mov byte [esp + 0x1b], 1
je 0x5038cd
mov byte [esp + 0x1b], 0
test esi, esi
jne 0x5038d5
test edi, edi
je 0x5038dc
push edi
push esi
call fcn.0047d110
cmp dword [esp + 0x40], 0
jne 0x5038ea
cmp dword [esp + 0x44], 0
je 0x5038f9
mov eax, dword [esp + 0x44]
mov ecx, dword [esp + 0x40]
push eax
push ecx
call fcn.0047d110
cmp byte [esp + 0x1b], 0
je 0x503959
xor esi, esi
push ebx
push ebp
lea ecx, [esp + 0x60]
mov dword [esp + 0x60], esi
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], esi
call fcn.00507320
mov eax, dword [esp + 0x58]
mov ebp, dword [eax + 0x20]
mov ebx, dword [eax + 0x24]
mov eax, dword [esp + 0x60]
cmp eax, esi
mov ecx, dword [esp + 0x64]
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebx
jne 0x50393b
cmp ecx, esi
je 0x503942
push ecx
push eax
call fcn.0047d110
mov ecx, dword [esp + 0x24]
push ebx
push ebp
mov dword [esp + 0x68], esi
mov dword [esp + 0x6c], esi
mov dword [esp + 0x60], esi
call fcn.004f7210
test ebp, ebp
jne 0x503961
test ebx, ebx
je 0x503972
mov ebx, dword [esp + 0x14]
mov ebp, dword [esp + 0x10]
push ebx
push ebp
call fcn.0047d0f0
jmp 0x503978
xor ebp, ebp
xor ebx, ebx
xor eax, eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0x503986
test eax, eax
je 0x503993
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.0047d0f0
jmp 0x503999
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov dword [eax + 0x28], 0
jne 0x5039a8
test edi, edi
je 0x5039af
push edi
push esi
call fcn.0047d110
test ebp, ebp
jne 0x5039b7
test ebx, ebx
je 0x5039be
push ebx
push ebp
call fcn.0047d110
xor eax, eax
cmp dword [esp + 0x10], eax
jne 0x5039cc
cmp dword [esp + 0x14], eax
je 0x5039e5
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + 0x10]
push ecx
push eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x3c], ecx
call fcn.0047d0f0
jmp 0x5039ed
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0x5039fb
test eax, eax
je 0x503a08
push eax
push ecx
mov ebx, ecx
mov ebp, eax
call fcn.0047d0f0
jmp 0x503a0e
xor ebx, ebx
xor ebp, ebp
xor eax, eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0x503a1c
test eax, eax
je 0x503a29
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.0047d0f0
jmp 0x503a2f
xor esi, esi
xor edi, edi
xor eax, eax
test esi, esi
mov dword [eax + 0x28], 1
jne 0x503a3e
test edi, edi
je 0x503a45
push edi
push esi
call fcn.0047d110
test ebx, ebx
jne 0x503a4d
test ebp, ebp
je 0x503a54
push ebp
push ebx
call fcn.0047d110
cmp dword [esp + 0x30], 0
jne 0x503a62
cmp dword [esp + 0x34], 0
je 0x503a71
mov edx, dword [esp + 0x34]
mov eax, dword [esp + 0x30]
push edx
push eax
call fcn.0047d110
cmp dword [esp + 0x10], 0
jne 0x503a7f
cmp dword [esp + 0x14], 0
je 0x503a92
mov ebx, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
push ebp
mov ecx, ebx
push ecx
call fcn.0047d0f0
jmp 0x503a98
xor ebx, ebx
xor ebp, ebp
xor eax, eax
mov ecx, dword [eax + 0x20]
test ecx, ecx
mov eax, dword [eax + 0x24]
jne 0x503aa6
test eax, eax
je 0x503ab3
push eax
push ecx
mov esi, ecx
mov edi, eax
call fcn.0047d0f0
jmp 0x503ab9
xor esi, esi
xor edi, edi
xor eax, eax
mov edx, dword [eax + 0x24]
mov eax, dword [eax + 0x20]
mov ecx, dword [esp + 0x24]
push edx
push eax
call fcn.004f7680
test esi, esi
jne 0x503ad2
test edi, edi
je 0x503ad9
push edi
push esi
call fcn.0047d110
test ebx, ebx
jne 0x503ae5
test ebp, ebp
je 0x502d90
push ebp
push ebx
call fcn.0047d110
jmp 0x502d90
mov eax, dword [esp + 0x24]
mov ecx, dword [eax + 0x1c]
mov edx, dword [eax + 0x18]
push ecx
xor esi, esi
push edx
lea ecx, [esp + 0x40]
mov dword [esp + 0x40], esi
mov dword [esp + 0x48], esi
mov dword [esp + 0x4c], esi
call fcn.00507320
mov eax, dword [esp + 0x38]
mov ecx, dword [eax + 0x14]
mov edx, dword [eax + 0x10]
push ecx
push edx
lea ecx, [esp + 0x30]
mov dword [esp + 0x30], esi
mov dword [esp + 0x38], esi
mov dword [esp + 0x3c], esi
call fcn.00507320
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x34]
mov dword [eax + 0x28], esi
mov eax, dword [esp + 0x30]
cmp eax, esi
pop ebp
pop ebx
jne 0x503b4e
cmp ecx, esi
je 0x503b55
push ecx
push eax
call fcn.0047d110
mov eax, dword [esp + 0x38]
cmp eax, esi
mov ecx, dword [esp + 0x3c]
jne 0x503b65
cmp ecx, esi
je 0x503b6c
push ecx
push eax
call fcn.0047d110
mov eax, dword [esp + 0x12c]
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x94]
pop edi
mov dword [eax + 4], edx
mov dword [eax], ecx
pop esi
add esp, 0x120
ret 0x14