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

Disassembly:
mov eax, 0x22d0c
call fcn.0058d180
push ebx
push ebp
push esi
push edi
mov ebx, ecx
xor edi, edi
lea ecx, [esp + 0x798]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x34], edi
mov dword [esp + 0x48], edi
mov dword [esp + 0x38], edi
call fcn.004cedb0
cmp dword [0x61bb88], 0xa
mov esi, dword [esp + 0x22d20]
mov dword [esp + 0x15b4], edi
mov dword [esp + 0x21a38], edi
mov dword [esp + 0x50], 0xffffffff
jb 0x5099e7
lea eax, [esp + 0x34]
push eax
push 0x5db08c
push esi
call fcn.004c0e10
add esp, 0xc
cmp dword [0x61bb88], 0x5f
jb 0x509a03
lea ecx, [esp + 0x48]
push ecx
push 0x5db08c
push esi
call fcn.004c0e10
add esp, 0xc
mov eax, dword [esp + 0x34]
mov ecx, dword [0x61bb88]
mov edx, dword [esp + 0x48]
and eax, 0xffbfffff
cmp ecx, 0x33
mov dword [esp + 0x34], eax
mov dword [esp + 0x21a40], eax
mov dword [esp + 0x21a44], edx
jae 0x509a39
or eax, 0x200000
mov dword [esp + 0x21a40], eax
lea eax, [esp + 0x298]
mov ecx, 4
mov byte [eax], 0
add eax, 0x100
dec ecx
jne 0x509a45
mov al, byte [esp + 0x22d28]
test al, al
jbe 0x509a87
movzx ebp, al
cmp ebp, edi
jle 0x509aa2
lea edi, [esp + 0x298]
lea esp, [esp]
push edi
push 0
push esi
call fcn.004c4580
add esp, 0xc
add edi, 0x100
dec ebp
jne 0x509a70
jmp 0x509aa2
mov eax, dword [ebx + 0x1ba8]
shl eax, 8
lea ecx, [esp + eax + 0x298]
push ecx
push edi
push esi
call fcn.004c4580
add esp, 0xc
lea edx, [esp + 0x198]
push edx
push 0
push esi
call fcn.004c4580
mov eax, dword [0x61bb88]
add esp, 0xc
cmp eax, 0x31
jb 0x509b03
lea eax, [esp + 0x118]
push eax
push 0
push esi
call fcn.004c4580
lea ecx, [esp + 0x124]
push str.NOTEXTURE
push ecx
call fcn.0058f295
add esp, 0x14
test eax, eax
je 0x509b03
xor eax, eax
lea ebx, [ebx]
mov cl, byte [esp + eax + 0x118]
mov byte [esp + eax + 0x804], cl
inc eax
test cl, cl
jne 0x509af0
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x20]
push ecx
push str._f_f_f
push esi
call fcn.004c0e10
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x68], edx
lea edx, [esp + 0x30]
push edx
mov dword [esp + 0x70], eax
lea eax, [esp + 0x38]
push eax
mov dword [esp + 0x78], ecx
lea ecx, [esp + 0x34]
push ecx
push str._f_f_f
push esi
call fcn.004c0e10
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x88], edx
lea edx, [esp + 0xac]
push edx
push 0x5db08c
push esi
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], ecx
call fcn.004c0e10
lea eax, [esp + 0xa8]
push eax
push 0x5db08c
push esi
call fcn.004c0e10
add esp, 0x40
lea ecx, [esp + 0x44]
push ecx
push 0x5db08c
push esi
call fcn.004c0e10
lea edx, [esp + 0xa0]
push edx
push 0
push esi
call fcn.004c4580
lea eax, [esp + 0x84]
push eax
push 0x5db08c
push esi
call fcn.004c0e10
lea ecx, [esp + 0x7bc]
push ecx
push 0x5db08c
push esi
call fcn.004c0e10
lea edx, [esp + 0x128]
push edx
push 0
push esi
call fcn.004c4580
lea eax, [esp + 0x134]
push eax
call fcn.004c0b30
add esp, 0x40
lea ecx, [esp + 0x21600]
push ecx
push 0x5db08c
push esi
mov dword [esp + 0x7a8], eax
call fcn.004c0e10
lea edx, [esp + 0x48]
push edx
push 0x5db08c
push esi
call fcn.004c0e10
mov eax, dword [esp + 0x54]
add esp, 0x18
test eax, eax
mov ebp, 1
je 0x509c40
or dword [esp + 0x21a38], ebp
cmp dword [0x61bb88], 9
jb 0x509ca7
lea eax, [esp + 0x14]
push eax
push 0x5db08c
push esi
call fcn.004c0e10
mov eax, dword [esp + 0x20]
add esp, 0xc
test eax, eax
je 0x509c6c
or dword [esp + 0x21a38], 8
lea ecx, [esp + 0x14]
push ecx
push 0x5db08c
push esi
call fcn.004c0e10
mov eax, dword [esp + 0x20]
add esp, 0xc
test eax, eax
je 0x509c8f
or dword [esp + 0x21a38], 0x10
lea edx, [esp + 0x21a3c]
push edx
push 0x5db08c
push esi
call fcn.004c0e10
add esp, 0xc
jmp 0x509cb2
mov dword [esp + 0x21a3c], 0
cmp dword [0x61bb88], 0x1b
mov edi, 0x200
jb 0x509cdb
lea eax, [esp + 0x10]
push eax
push 0x5db08c
push esi
call fcn.004c0e10
mov eax, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
je 0x509ce2
or dword [esp + 0x21a38], edi
cmp dword [0x61bb88], 0x45
jb 0x509d03
lea ecx, [esp + 0x870]
push ecx
push 0x5db08c
push esi
call fcn.004c0e10
add esp, 0xc
jmp 0x509d0a
mov dword [esp + 0x870], ebp
lea edx, [esp + 0x90]
push edx
push 0x5db08c
push esi
call fcn.004c0e10
lea eax, [esp + 0x48]
push eax
push 0x5db08c
push esi
call fcn.004c0e10
mov eax, dword [esp + 0x54]
add esp, 0x18
test eax, eax
je 0x509d40
or dword [esp + 0x21a38], 0x20
cmp dword [0x61bb88], 0x13
jb 0x50a268
lea ecx, [esp + 0x1584]
push ecx
lea edx, [esp + 0x15a4]
push edx
lea eax, [esp + 0x15a4]
push eax
lea ecx, [esp + 0x15a4]
push ecx
lea edx, [esp + 0x15a4]
push edx
lea eax, [esp + 0x15a4]
push eax
push str._f_f_f_f_f_d
push esi
call fcn.004c0e10
mov eax, dword [0x61bb88]
add esp, 0x20
cmp eax, 0x19
jb 0x509db3
lea ecx, [esp + 0x15b0]
push ecx
lea edx, [esp + 0x15b0]
push edx
push str._f_d
push esi
call fcn.004c0e10
add esp, 0x10
cmp dword [0x61bb88], 0x24
jb 0x509dd2
lea eax, [esp + 0x1588]
push eax
push 0x5db08c
push esi
call fcn.004c0e10
add esp, 0xc
cmp dword [0x61bb88], 0x27
jb 0x509df1
lea ecx, [esp + 0x15e0]
push ecx
push 0x5db08c
push esi
call fcn.004c0e10
add esp, 0xc
cmp dword [0x61bb88], 0x2a
jb 0x509e23
lea edx, [esp + 0x15e8]
push edx
push 0x5db08c
push esi
call fcn.004c0e10
lea eax, [esp + 0x15f0]
push eax
push 0x5db08c
push esi
call fcn.004c0e10
add esp, 0x18
mov eax, dword [0x61bb88]
xor edi, edi
cmp eax, 0x5e
jb 0x509e68
lea ecx, [esp + 0x698]
push ecx
push edi
push esi
call fcn.004c4580
add esp, 0xc
lea edx, [esp + 0x698]
push edx
mov ecx, ebx
mov dword [esp + 0x15f0], edi
call fcn.004e2f70
cmp eax, edi
je 0x509e68
mov eax, dword [eax + 0x1a0]
mov dword [esp + 0x15ec], eax
cmp dword [0x61bb88], 0x28
jb 0x509e85
lea ecx, [esp + 0x21a72]
push ecx
push edi
push esi
call fcn.004c4580
add esp, 0xc
jmp 0x509e9e
mov edx, dword [str.NONE]
mov al, byte [0x5e0404]
mov dword [esp + 0x21a72], edx
mov byte [esp + 0x21a76], al
mov eax, dword [0x61bb88]
mov ebx, 0xffff
cmp eax, ebx
mov dword [esp + 0x21c08], edi
mov dword [esp + 0x21c0c], edi
mov dword [esp + 0x21c04], edi
mov dword [esp + 0x874], edi
jb 0x509f8b
lea ecx, [esp + 0x21c08]
push ecx
push 0x5db08c
push esi
call fcn.004c0e10
lea edx, [esp + 0x21c18]
push edx
push 0x5db08c
push esi
call fcn.004c0e10
lea eax, [esp + 0x21c1c]
push eax
push 0x5db08c
push esi
call fcn.004c0e10
mov eax, dword [esp + 0x21c28]
add esp, 0x24
xor edi, edi
test eax, eax
jbe 0x509f3b
lea ebp, [esp + 0x21aa4]
lea esp, [esp]
push ebp
push 0
push esi
call fcn.004c4580
mov eax, dword [esp + 0x21c10]
add esp, 0xc
inc edi
add ebp, 0x23
cmp edi, eax
jb 0x509f20
cmp dword [0x61bb88], ebx
jb 0x509f8b
lea ecx, [esp + 0x874]
push ecx
push 0x5db08c
push esi
call fcn.004c0e10
mov eax, dword [esp + 0x880]
add esp, 0xc
xor edi, edi
test eax, eax
jbe 0x509f8b
lea ebp, [esp + 0x878]
lea ecx, [ecx]
push ebp
push 0
push esi
call fcn.004c4580
mov eax, dword [esp + 0x880]
add esp, 0xc
inc edi
add ebp, 0x23
cmp edi, eax
jb 0x509f70
lea edx, [esp + 0x14]
push edx
push 0x5db08c
push esi
call fcn.004c0e10
mov eax, dword [esp + 0x20]
add esp, 0xc
test al, 1
je 0x509fc0
lea eax, [esp + 0x1570]
push eax
push 0x5eb3ac
push esi
call fcn.004c0e10
mov eax, dword [esp + 0x20]
add esp, 0xc
test al, 2
je 0x509fde
lea ecx, [esp + 0x1564]
push ecx
push 0x5eb3ac
push esi
call fcn.004c0e10
mov eax, dword [esp + 0x20]
add esp, 0xc
test al, 4
je 0x509ffc
lea edx, [esp + 0x1568]
push edx
push 0x5eb3ac
push esi
call fcn.004c0e10
mov eax, dword [esp + 0x20]
add esp, 0xc
test al, 8
je 0x50a01a
lea eax, [esp + 0x156c]
push eax
push 0x5eb3ac
push esi
call fcn.004c0e10
mov eax, dword [esp + 0x20]
add esp, 0xc
test ah, 4
mov ebx, 1
je 0x50a02b
mov dword [esp + 0x15b4], ebx
test ah, 2
je 0x50a037
mov dword [esp + 0x158c], ebx
test al, 0x10
je 0x50a055
lea ecx, [esp + 0x1578]
push ecx
push 0x5eb3ac
push esi
call fcn.004c0e10
mov eax, dword [esp + 0x20]
add esp, 0xc
test al, 0x20
je 0x50a073
lea edx, [esp + 0x1574]
push edx
push 0x5eb3ac
push esi
call fcn.004c0e10
mov eax, dword [esp + 0x20]
add esp, 0xc
test al, 0x40
je 0x50a0b1
lea eax, [esp + 0x157c]
push eax
push 0x5db08c
push esi
call fcn.004c0e10
mov eax, dword [0x61bb88]
add esp, 0xc
cmp eax, 0x1a
jb 0x50a0ad
lea ecx, [esp + 0x1580]
push ecx
push 0x5eb3ac
push esi
call fcn.004c0e10
add esp, 0xc
mov eax, dword [esp + 0x14]
test ah, 1
je 0x50a1fe
lea edx, [esp + 0x15bc]
push edx
push 0x5db08c
push esi
mov dword [esp + 0x15c4], ebx
call fcn.004c0e10
mov eax, dword [esp + 0x15c8]
add esp, 0xc
sub eax, 0
je 0x50a1ba
dec eax
je 0x50a181
dec eax
jne 0x50a1d9
cmp dword [0x61bb88], 0x16
jb 0x50a151
lea eax, [esp + 0x15dc]
push eax
lea ecx, [esp + 0x15dc]
push ecx
lea edx, [esp + 0x15dc]
push edx
lea eax, [esp + 0x15dc]
push eax
lea ecx, [esp + 0x15dc]
push ecx
lea edx, [esp + 0x15dc]
push edx
lea eax, [esp + 0x15dc]
push eax
lea ecx, [esp + 0x15dc]
push ecx
push str._f_f_f_f_f_f_f_f
push esi
call fcn.004c0e10
add esp, 0x28
jmp 0x50a1d9
lea edx, [esp + 0x15dc]
push edx
lea eax, [esp + 0x15dc]
push eax
lea ecx, [esp + 0x15dc]
push ecx
lea edx, [esp + 0x15dc]
push edx
push str._f_f_f_f_d
push esi
call fcn.004c0e10
add esp, 0x18
jmp 0x50a1d9
cmp dword [0x61bb88], 0x16
jb 0x50a1d9
lea eax, [esp + 0x15d4]
push eax
lea ecx, [esp + 0x15d4]
push ecx
lea edx, [esp + 0x15cc]
push edx
lea eax, [esp + 0x15cc]
push eax
push str._f_f_f_f
push esi
call fcn.004c0e10
add esp, 0x18
jmp 0x50a1d9
cmp dword [0x61bb88], 0x16
jb 0x50a1d9
lea ecx, [esp + 0x15c0]
push ecx
push 0x5eb3ac
push esi
call fcn.004c0e10
add esp, 0xc
mov eax, dword [0x61bb88]
cmp eax, 0x15
jb 0x50a1fe
cmp eax, 0x24
jae 0x50a1fe
lea edx, [esp + 0x1588]
push edx
push 0x5db08c
push esi
call fcn.004c0e10
add esp, 0xc
cmp dword [0x61bb88], 0xffff
jb 0x50a220
lea eax, [esp + 0x15f0]
push eax
push 0x5db08c
push esi
call fcn.004c0e10
add esp, 0xc
lea ecx, [esp + 0x10]
push ecx
push 0x5db08c
push esi
call fcn.004c0e10
mov eax, dword [esp + 0x1c]
add esp, 0xc
test eax, eax
jbe 0x50a268
xor edi, edi
test eax, eax
jbe 0x50a268
lea edx, [esp + 0x24]
push edx
push 0x5db08c
push esi
call fcn.004c0e10
mov eax, dword [esp + 0x30]
add esp, 0xc
mov dword [esp + eax*4 + 0x8e4], ebx
mov eax, dword [esp + 0x10]
inc edi
cmp edi, eax
jb 0x50a241
cmp dword [0x61bb88], 0x14
jb 0x50a28f
lea ecx, [esp + 0x15a8]
push ecx
lea edx, [esp + 0x15a8]
push edx
push 0x5edb48
push esi
call fcn.004c0e10
add esp, 0x10
xor eax, eax
mov cl, byte [esp + eax + 0x94]
mov byte [esp + eax + 0x847], cl
inc eax
test cl, cl
jne 0x50a291
mov eax, dword [esp + 0x6c]
mov byte [esp + 0x869], cl
lea ecx, [esp + 0x4c]
push ecx
push 0x5db08c
push esi
mov dword [esp + 0x878], eax
call fcn.004c0e10
mov eax, dword [esp + 0x58]
add esp, 0xc
test eax, eax
mov dword [esp + 0x10], 0
jbe 0x50a377
lea edi, [esp + 0x21604]
lea edx, [esp + 0x94]
lea ebp, [esp + 0x219d4]
lea ebx, [esp + 0x21626]
sub edi, edx
jmp 0x50a300
lea eax, [esp + 0x94]
push eax
push 0
push esi
call fcn.004c4580
lea ecx, [esp + 0x7c]
push ecx
push 0x5db08c
push esi
call fcn.004c0e10
lea edx, [esp + 0xa4]
push edx
push 0x5db08c
push esi
call fcn.004c0e10
add esp, 0x24
lea eax, [esp + 0x94]
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [eax + edi], cl
inc eax
test cl, cl
jne 0x50a340
mov eax, dword [esp + 0x70]
mov byte [ebx], cl
mov ecx, dword [esp + 0x8c]
mov dword [ebp - 0x64], eax
mov eax, dword [esp + 0x10]
mov dword [ebp], ecx
mov ecx, dword [esp + 0x4c]
inc eax
add ebp, 4
add edi, 0x23
add ebx, 0x23
cmp eax, ecx
mov dword [esp + 0x10], eax
jb 0x50a300
cmp dword [0x61bb88], 0x2d
jb 0x50a398
lea edx, [esp + 0x21a98]
push edx
push 0x5db08c
push esi
call fcn.004c0e10
add esp, 0xc
jmp 0x50a3a3
mov dword [esp + 0x21a98], 0xffffffff
cmp dword [0x61bb88], 0x32
jb 0x50a3cc
lea eax, [esp + 0x21a9c]
push eax
lea ecx, [esp + 0x21aa4]
push ecx
push 0x5edb48
push esi
call fcn.004c0e10
add esp, 0x10
jmp 0x50a3e2
mov dword [esp + 0x21a9c], 0x3f800000
mov dword [esp + 0x21aa0], 0x3f800000
cmp dword [0x61bb88], 0x17
jae 0x50a477
mov dword [esp + 0x78], 0
mov edx, dword [esp + 0x78]
mov dword [esp + 0x7c], 0x42c80000
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x80], 0xc3c80000
mov ecx, dword [esp + 0x80]
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0x42c80000
mov dword [esp + 0x30], 0x42c80000
mov dword [esp + 0x21a48], edx
mov edx, dword [esp + 0x28]
mov dword [esp + 0x21a4c], eax
mov eax, dword [esp + 0x2c]
mov dword [esp + 0x21a50], ecx
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x21a54], edx
mov dword [esp + 0x21a58], eax
mov dword [esp + 0x21a5c], ecx
mov dword [esp + 0x21a60], 1
jmp 0x50a56c
lea edx, [esp + 0x1c]
push edx
lea eax, [esp + 0x24]
push eax
lea ecx, [esp + 0x20]
push ecx
push str._f_f_f
push esi
call fcn.004c0e10
mov edx, dword [esp + 0x2c]
mov eax, dword [esp + 0x34]
mov ecx, dword [esp + 0x30]
mov dword [esp + 0x3c], edx
mov dword [esp + 0x21a5c], edx
lea edx, [esp + 0x30]
push edx
mov dword [esp + 0x44], eax
mov dword [esp + 0x21a64], eax
lea eax, [esp + 0x38]
push eax
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x21a6c], ecx
lea ecx, [esp + 0x34]
push ecx
push str._f_f_f
push esi
call fcn.004c0e10
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x44]
mov dword [esp + 0x50], edx
mov dword [esp + 0x21a7c], edx
lea edx, [esp + 0x21a88]
push edx
push 0x5db08c
push esi
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], ecx
mov dword [esp + 0x21a8c], eax
mov dword [esp + 0x21a90], ecx
call fcn.004c0e10
mov eax, dword [0x61bb88]
add esp, 0x34
cmp eax, 0x3f
jae 0x50a56c
lea eax, [esp + 0x1c]
push eax
lea ecx, [esp + 0x24]
push ecx
lea edx, [esp + 0x20]
push edx
push str._f_f_f
push esi
call fcn.004c0e10
lea eax, [esp + 0x30]
push eax
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x34]
push edx
push str._f_f_f
push esi
call fcn.004c0e10
lea eax, [esp + 0x4c]
push eax
push 0x5db08c
push esi
call fcn.004c0e10
add esp, 0x34
cmp dword [0x61bb88], 0x1e
jb 0x50a5e1
lea ecx, [esp + 0x21a64]
push ecx
push 0x5db08c
push esi
call fcn.004c0e10
lea edx, [esp + 0x21a74]
push edx
push 0x5db08c
push esi
call fcn.004c0e10
mov eax, dword [esp + 0x21a80]
add esp, 0x18
test eax, eax
je 0x50a5ec
xor edi, edi
test eax, eax
jle 0x50a5ec
nop
lea eax, [esp + 0x24]
push eax
push 0x5db08c
push esi
call fcn.004c0e10
add esp, 0xc
cmp edi, 6
jge 0x50a5d3
mov cl, byte [esp + 0x24]
mov byte [esp + edi + 0x21a6c], cl
mov eax, dword [esp + 0x21a68]
inc edi
cmp edi, eax
jl 0x50a5b0
jmp 0x50a5ec
mov dword [esp + 0x21a64], 1
cmp dword [0x61bb88], 0x56
jb 0x50a608
lea edx, [esp + 0x50]
push edx
push 0x5db08c
push esi
call fcn.004c0e10
add esp, 0xc
lea eax, [esp + 0x15fc]
push eax
push 0x5db08c
push esi
call fcn.004c0e10
mov ecx, dword [0x680064]
mov edx, dword [ecx + 4]
add esp, 0xc
push 1
mov dword [esp + 0x28], edx
call fcn.005cb2f0
mov eax, dword [esp + 0x15fc]
test eax, eax
mov dword [esp + 0x10], 0
jle 0x50a736
lea edi, [esp + 0x11600]
lea ebp, [edi - 0x10000]
push ebp
push 0
push esi
call fcn.004c4580
push ebp
call fcn.0058d01c
lea eax, [esp + 0x98]
push eax
push 0x5db08c
push esi
call fcn.004c0e10
push edi
push 0
push esi
call fcn.004c4580
push edi
call fcn.0058d01c
push edi
call fcn.004c0cd0
mov ebx, eax
mov eax, dword [0x61b1f8]
add esp, 0x30
xor ebp, ebp
test eax, eax
jle 0x50a6be
lea ecx, [ecx]
mov ecx, dword [ebp*4 + 0x61b200]
push ecx
call fcn.004c0cd0
add esp, 4
cmp ebx, eax
je 0x50a6cc
mov eax, dword [0x61b1f8]
inc ebp
cmp ebp, eax
jl 0x50a6a0
push edi
push str._FIX_NOW_PLEASE___Connector_object___s__needed_in_nonStatedConnectorObjectArray_____n
call fcn.004cd600
add esp, 8
mov ebx, dword [esp + 0x40]
push edi
mov ecx, ebx
call fcn.004e2f20
test eax, eax
jne 0x50a711
mov edx, dword [esp + 0x88]
push edi
push edx
mov ecx, ebx
call fcn.00509540
test eax, eax
jne 0x50a711
mov eax, dword [ebx + 0x1ba8]
shl eax, 8
lea ecx, [esp + eax + 0x298]
push ecx
push edi
push str.Unable_to_find_connector_object___s__n_for_Object___s__n
call fcn.004cd600
add esp, 0xc
jmp 0x50a718
or dword [eax + 0xc4], 4
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x15fc]
inc eax
add edi, 0x100
cmp eax, ecx
mov dword [esp + 0x10], eax
jl 0x50a650
mov edx, dword [esp + 0x24]
mov ecx, dword [0x680064]
push edx
call fcn.005cb2f0
mov eax, dword [esp + 0x54]
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
mov dword [esp + 0x7a0], eax
mov eax, dword [esp + 0x60]
mov dword [esp + 0x7ac], eax
mov al, byte [esp + 0x84]
mov dword [esp + 0x7a4], ecx
mov ecx, dword [esp + 0x64]
mov byte [esp + 0x844], al
mov eax, dword [esp + 0x44]
test eax, eax
mov dword [esp + 0x7a8], edx
mov edx, dword [esp + 0x68]
mov dword [esp + 0x7b0], ecx
mov cl, byte [esp + 0x74]
mov dword [esp + 0x7b4], edx
mov byte [esp + 0x845], cl
jge 0x50a7af
xor eax, eax
mov dword [esp + 0x44], eax
mov byte [esp + 0x846], al
mov eax, dword [0x689d70]
test eax, eax
je 0x50a82d
cmp dword [0x61bb88], 0x5f
jb 0x50a7d6
mov edx, dword [esp + 0x21a44]
and edx, 0x10
test dl, dl
jne 0x50a82d
lea ecx, [esp + 0x798]
push ecx
call eax
mov edi, eax
add esp, 4
test edi, edi
je 0x50a82d
mov ebp, dword [esp + 0x40]
mov edx, dword [ebp + 0x1ba8]
shl edx, 8
lea eax, [esp + edx + 0x298]
push eax
push edi
call fcn.0058f295
add esp, 8
test eax, eax
je 0x50a831
mov ecx, dword [ebp + 0x1ba8]
shl ecx, 8
mov edx, ecx
sub edx, edi
mov eax, edi
lea edx, [esp + edx + 0x298]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x50a821
jmp 0x50a831
mov ebp, dword [esp + 0x40]
mov edx, dword [ebp + 0x1ba8]
shl edx, 8
lea eax, [esp + edx + 0x298]
push eax
mov ecx, ebp
call fcn.004e2f20
mov ebx, eax
test ebx, ebx
jne 0x50a8b1
mov edx, dword [ebp + 0x1ba8]
shl edx, 8
lea edx, [esp + edx + 0x298]
lea ecx, [esp + 0xb8]
lea eax, [esp + 0xb8]
sub edx, ecx
nop
mov cl, byte [eax + edx]
mov byte [eax], cl
inc eax
test cl, cl
jne 0x50a870
lea edi, [esp + 0xb8]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x50a882
mov edx, dword [str..pi2]
mov al, byte [0x5efaa0]
push 0
push 1
lea ecx, [esp + 0xc0]
push ecx
mov dword [edi], edx
push 0xffffffffffffffff
mov ecx, ebp
mov byte [edi + 4], al
call fcn.004e5d20
mov ebx, eax
test dword [esp + 0x34], 0x1000000
je 0x50a8c8
push esi
lea ecx, [esp + 0x21c14]
call fcn.00507b20
test ebx, ebx
je 0x50a991
mov edx, dword [ebx + 8]
mov edi, str.Root
lea esi, [esp + 0x198]
mov ecx, 5
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
mov dword [esp + 0x15f8], edx
mov dword [esp + 0x7fc], ebx
je 0x50a919
lea ecx, [esp + 0x198]
push ecx
call fcn.00444100
add esp, 4
push eax
mov ecx, ebp
call fcn.004e2fb0
mov dword [esp + 0x800], eax
jmp 0x50a924
mov dword [esp + 0x800], 0
mov eax, dword [ebp + 0x1ba8]
shl eax, 8
lea eax, [esp + eax + 0x298]
lea edx, [esp + 0x7b8]
sub edx, eax
lea ecx, [ecx]
mov cl, byte [eax]
mov byte [eax + edx], cl
inc eax
test cl, cl
jne 0x50a940
mov eax, dword [esp + 0x22d24]
test eax, eax
je 0x50a9af
lea edx, [esp + 0x798]
push edx
call eax
mov edi, eax
add esp, 4
test edi, edi
mov dword [esp + 0x38], edi
je 0x50a9b3
mov eax, dword [edi + 0x30]
mov ecx, dword [eax + 0xc8]
mov eax, dword [ecx + 0xc4]
test ah, 8
je 0x50a9b3
mov ecx, ebx
call fcn.004eb470
mov ecx, dword [edi + 0x30]
call fcn.004d1c60
jmp 0x50a9b3
mov edx, dword [ebp + 0x1ba8]
shl edx, 8
lea eax, [esp + edx + 0x298]
push eax
push str.Unable_to_load_data_for_HLO__s_nObject_will_be_ignored
call fcn.004cd600
add esp, 8
mov edi, dword [esp + 0x38]
call fcn.004c2130
cmp eax, 1
jne 0x50aa6a
cmp dword [esp + 0x22d2c], 1
jne 0x50aa6a
movzx eax, byte [esp + 0x22d28]
test eax, eax
jle 0x50aa6a
lea esi, [esp + 0xb8]
lea ecx, [esp + 0x298]
lea ebx, [esp + 0x298]
sub esi, ecx
mov dword [esp + 0x10], eax
lea ebx, [ebx]
push ebx
mov ecx, ebp
call fcn.004e2f20
test eax, eax
jne 0x50aa53
mov eax, ebx
mov edi, edi
mov cl, byte [eax]
mov byte [esi + eax], cl
inc eax
test cl, cl
jne 0x50aa10
lea edi, [esp + 0xb8]
dec edi
mov al, byte [edi + 1]
inc edi
test al, al
jne 0x50aa22
mov edx, dword [str..pi2]
mov al, byte [0x5efaa0]
push 0
push 1
lea ecx, [esp + 0xc0]
push ecx
mov dword [edi], edx
push 0xffffffffffffffff
mov ecx, ebp
mov byte [edi + 4], al
call fcn.004e5d20
mov edi, dword [esp + 0x38]
mov eax, dword [esp + 0x10]
sub esi, 0x100
add ebx, 0x100
dec eax
mov dword [esp + 0x10], eax
jne 0x50aa00
mov eax, edi
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x22d0c
ret 0x10