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

Disassembly:
sub esp, 0x164
mov eax, dword [0x68b740]
xor eax, esp
mov dword [esp + 0x160], eax
push ebx
push ebp
mov ebp, dword [esp + 0x178]
mov dword [esp + 0xc], ecx
mov ecx, dword [0x8e48f4]
push esi
mov esi, dword [esp + 0x178]
push edi
add ecx, 0xecc4
mov dword [esp + 0x10], 0
call fcn.005b8960
mov ecx, dword [esp + 0x178]
cmp ecx, 0x3a
mov edi, eax
mov eax, dword [0x8e48f4]
mov ebx, dword [eax + 0xecec]
ja case.0x53ea30.3
jmp dword [ecx*4 + 0x53f43c]
push esi
push ebp
lea ecx, [eax + 0xecc4]
call fcn.005b8250
jmp case.0x53ea30.3
test esi, esi
je case.0x53ea30.3
mov esi, dword [esi + 0x44]
test esi, esi
jle case.0x53ea30.3
cmp esi, 0x100
jge case.0x53ea30.3
mov eax, dword [0x12c5540]
imul esi, esi, 0x113b8
mov ecx, dword [esi + eax + 0x16c8]
mov dword [esp + 0x10], ecx
jmp case.0x53ea30.3
lea edx, [esi - 1]
cmp edx, 0xfe
ja case.0x53ea30.3
mov eax, dword [0x12c5540]
imul esi, esi, 0x113b8
mov ecx, dword [esi + eax + 0x16cc]
mov dword [esp + 0x10], ecx
jmp case.0x53ea30.3
test esi, esi
je case.0x53ea30.3
test ebp, ebp
je case.0x53ea30.3
mov ecx, dword [esi]
cmp ecx, 0x15
ja case.0x53ea30.3
jmp dword [ecx*4 + 0x53f528]
mov eax, dword [esi + 0xc]
mov ecx, dword [0x1341968]
mov edx, dword [ecx]
mov edx, dword [edx + 0x7c]
push 0
push 0
push 1
push eax
push edi
push ebx
call edx
jmp case.0x53ea30.3
mov ecx, dword [esi + 8]
mov edx, dword [esi + 4]
push ebp
push ecx
push edx
lea ecx, [eax + 0xecc4]
call fcn.005b9840
jmp case.0x53ea30.3
mov ecx, dword [esi + 8]
mov edx, dword [esi + 4]
push ebp
push ecx
push edx
lea ecx, [eax + 0xecc4]
call fcn.005b99b0
jmp case.0x53ea30.3
lea ecx, [eax + 0xecc4]
call fcn.005b8c80
jmp case.0x53ea30.3
cmp byte [ebp], 0
je case.0x53ea30.3
lea eax, [esp + 0x18]
push eax
lea ecx, [esp + 0x8c]
push ecx
mov ecx, dword [esp + 0x1c]
push ebp
call fcn.00538fa0
test eax, eax
je case.0x53ea30.3
mov edx, dword [esp + 0xc8]
mov ecx, dword [0x8e48f4]
push edx
add ecx, 0xecc4
call fcn.005b8450
jmp case.0x53ea30.3
mov edx, dword [ebp + 0x4c]
lea ecx, [ebp + 0xe8]
push ecx
mov ecx, dword [esi + 4]
push edx
push ecx
lea ecx, [eax + 0xecc4]
call fcn.005b9b30
jmp case.0x53ea30.3
push ebp
lea ecx, [eax + 0xecc4]
call fcn.005b9d40
jmp case.0x53ea30.3
cmp byte [ebp], 0
je case.0x53ea30.3
mov ecx, dword [esp + 0x14]
lea edx, [esp + 0x18]
push edx
lea eax, [esp + 0x8c]
push eax
push ebp
call fcn.00538fa0
test eax, eax
je case.0x53ea30.3
mov ecx, dword [esp + 0xcc]
push ecx
mov ecx, dword [0x8e48f4]
add ecx, 0xecc4
call fcn.005b9e70
jmp case.0x53ea30.3
lea ecx, [eax + 0xecc4]
call fcn.005ba100
jmp case.0x53ea30.3
lea ecx, [eax + 0xecc4]
call fcn.005ba310
jmp case.0x53ea30.3
mov eax, dword [esi + 8]
cdq
push edx
push eax
push edi
push ebx
mov ecx, 0x1341740
call fcn.0053a800
jmp case.0x53ea30.3
mov eax, dword [esi + 8]
neg eax
cdq
push edx
push eax
push edi
push ebx
mov ecx, 0x1341740
call fcn.0053a800
jmp case.0x53ea30.3
mov edx, dword [esi + 0xc]
mov ecx, dword [esi + 8]
push edx
mov edx, dword [esi + 4]
push ecx
mov ecx, dword [esi + 0x10]
push edx
push ecx
lea ecx, [eax + 0xecc4]
call fcn.005ba420
jmp case.0x53ea30.3
mov eax, dword [esi + 8]
mov ecx, dword [0x1341968]
mov edx, dword [ecx]
mov edx, dword [edx + 0x6c]
push 0
push eax
push edi
push ebx
call edx
jmp case.0x53ea30.3
mov edx, dword [esi + 8]
mov ecx, dword [0x1341968]
mov eax, dword [ecx]
mov eax, dword [eax + 0x70]
push 0
push edx
push edi
push ebx
call eax
jmp case.0x53ea30.3
mov eax, dword [esi + 8]
mov ecx, dword [0x1341968]
mov edx, dword [ecx]
mov edx, dword [edx + 0x24]
push 0
push eax
push edi
push ebx
call edx
jmp case.0x53ea30.3
mov edx, dword [esi + 8]
mov ecx, dword [0x1341968]
mov eax, dword [ecx]
mov eax, dword [eax + 0x28]
push 0
push edx
push edi
push ebx
call eax
jmp case.0x53ea30.3
mov eax, dword [esi + 4]
mov ecx, dword [0x1341968]
mov edx, dword [ecx]
mov edx, dword [edx + 0x78]
push 0
push eax
push 1
push edi
push ebx
call edx
mov edx, dword [esi + 8]
mov ecx, dword [0x1341968]
mov eax, dword [ecx]
mov eax, dword [eax + 0x78]
push 0
push edx
push 2
push edi
push ebx
call eax
mov eax, dword [esi + 0xc]
mov ecx, dword [0x1341968]
mov edx, dword [ecx]
mov edx, dword [edx + 0x78]
push 0
push eax
push 3
push edi
push ebx
call edx
jmp case.0x53ea30.3
mov eax, dword [esi + 0xc]
mov ecx, dword [esi + 8]
mov edx, dword [esi + 4]
push eax
push ecx
push edx
push edi
push ebx
mov ecx, 0x1341740
call fcn.0053a890
jmp case.0x53ea30.3
mov ecx, dword [esi + 4]
push ecx
push ebp
push 1
lea ecx, [eax + 0xecc4]
call fcn.005b8b70
jmp case.0x53ea30.3
push 0
push ebp
push 0
lea ecx, [eax + 0xecc4]
call fcn.005b8b70
jmp case.0x53ea30.3
test esi, esi
je case.0x53ea30.3
push ebp
push esi
call dword [sym.imp.engine.dll_unsigned_long_int___cdecl_g_HashString2Id_char_const__]
mov edx, dword [esi + 0x44]
mov ecx, dword [0x8e48f4]
add esp, 4
push eax
push edx
add ecx, 0xecc4
call fcn.005b88c0
jmp case.0x53ea30.3
test esi, esi
je case.0x53ea30.3
mov ecx, dword [esi + 0x40]
mov edx, dword [esi + 0x44]
push ecx
push edx
push ebp
lea ecx, [eax + 0xecc4]
call fcn.005ba000
jmp case.0x53ea30.3
push ebp
push esi
call fcn.005bdd20
mov ecx, dword [0x8e48f4]
add esp, 8
add ecx, 0xecc4
call fcn.005b9490
mov ecx, dword [0x8e48f4]
push 0
add ecx, 0xecc4
call fcn.005b97e0
jmp case.0x53ea30.3
push ebp
lea ecx, [eax + 0xecc4]
call fcn.005b94d0
jmp case.0x53ea30.3
push ebp
push esi
lea ecx, [eax + 0xecc4]
call fcn.005b9510
jmp case.0x53ea30.3
push ebp
lea ecx, [eax + 0xecc4]
call fcn.005b97e0
jmp case.0x53ea30.3
mov eax, esi
push ebp
shr eax, 0x10
push eax
push esi
call fcn.005bdd00
add esp, 0xc
jmp case.0x53ea30.3
mov ecx, esi
push ebp
shr ecx, 0x10
push ecx
push esi
call fcn.005bd9c0
add esp, 0xc
jmp case.0x53ea30.3
test esi, esi
je case.0x53ea30.3
push ebp
push esi
call fcn.005bdb20
add esp, 8
jmp case.0x53ea30.3
push ebp
push esi
mov ecx, 0x1341740
call fcn.0059b660
mov dword [esp + 0x10], eax
jmp case.0x53ea30.3
push esi
mov ecx, 0x1341740
call fcn.005a33d0
push ebp
push eax
mov ecx, 0x1341740
call fcn.0059fd20
test eax, eax
je 0x53ee8b
add eax, 0x58
mov dword [esp + 0x10], eax
jmp case.0x53ea30.3
mov dword [esp + 0x10], 0
jmp case.0x53ea30.3
push esi
mov ecx, 0x1341740
call fcn.0059a0b0
mov dword [esp + 0x10], eax
jmp case.0x53ea30.3
test esi, esi
je case.0x53ea30.3
push ebp
push esi
call fcn.005be010
add esp, 8
jmp case.0x53ea30.3
push ebp
call fcn.005bdf90
add esp, 4
jmp case.0x53ea30.3
test esi, esi
je case.0x53ea30.3
test ebp, ebp
je case.0x53ea30.3
push ebp
push esi
push edi
mov ecx, 0x1341740
call fcn.0053a690
jmp case.0x53ea30.3
push esi
mov ecx, 0x1341740
call fcn.0053a710
mov dword [esp + 0x10], eax
jmp case.0x53ea30.3
mov ecx, 0x1341740
call fcn.0053a7d0
mov dword [esp + 0x10], eax
jmp case.0x53ea30.3
push ebp
push esi
push edi
mov ecx, 0x1341740
call fcn.0053a750
mov dword [esp + 0x10], eax
jmp case.0x53ea30.3
push ebp
push esi
push edi
mov ecx, 0x1341740
call fcn.0053a790
mov dword [esp + 0x10], eax
jmp case.0x53ea30.3
push ebp
push esi
call fcn.005bdca0
add esp, 8
jmp case.0x53ea30.3
push ebp
call fcn.005be0a0
add esp, 4
jmp case.0x53ea30.3
push ebp
call fcn.005bde10
add esp, 4
jmp case.0x53ea30.3
push ebp
call fcn.005bdd90
add esp, 4
jmp case.0x53ea30.3
mov ecx, dword [0x1341968]
mov edx, dword [ecx]
mov eax, dword [edx + 0x2c]
push 0
push esi
push edi
push ebx
call eax
jmp case.0x53ea30.3
push esi
lea ecx, [eax + 0xecc4]
call fcn.005ba670
jmp case.0x53ea30.3
push ebp
call fcn.005bde90
add esp, 4
jmp case.0x53ea30.3
push ebp
call fcn.005bdf10
add esp, 4
jmp case.0x53ea30.3
push esi
mov ecx, 0x1341740
call fcn.0059b4f0
jmp case.0x53ea30.3
push esi
lea ecx, [eax + 0xecc4]
call fcn.005ba210
jmp case.0x53ea30.3
mov ecx, dword [0x1341968]
mov edx, dword [ecx]
mov eax, dword [edx + 0x74]
push 0
push ebp
push esi
push edi
push ebx
call eax
jmp case.0x53ea30.3
test ebp, ebp
je case.0x53ea30.3
push esi
mov ecx, 0x1341770
call fcn.00549930
mov edi, eax
test edi, edi
mov dword [esp + 0x18], edi
je 0x53f10a
push 1
lea ecx, [edi + 0x64]
call fcn.0053b370
test eax, eax
je 0x53f10a
lea ecx, [esp + 0x20]
xor eax, eax
push ecx
xor bl, bl
mov ecx, edi
mov byte [esp + 0x18], bl
mov dword [esp + 0x14], eax
mov dword [esp + 0x24], eax
call fcn.0053e850
test eax, eax
je 0x53f0e5
lea esi, [ebp + 0xe]
jmp 0x53f060
mov eax, 0x19
cmp dword [esp + 0x10], eax
jge 0x53f0c5
mov edi, dword [esp + 0x20]
push edi
mov ecx, 0x1341740
call fcn.005a33d0
test eax, eax
je 0x53f086
push esi
mov ecx, eax
call fcn.0053ab40
cmp byte [esi], 0
jne 0x53f0a6
push 0xa
push 0x63c058
push esi
call dword [sym.imp.engine.dll_void___cdecl_g_StrCpyLen_char___char_const___int_]
movzx edx, bl
add esp, 0xc
mov dword [esp + edx*4 + 0x24], edi
add bl, 1
mov ecx, dword [esp + 0x18]
add dword [esp + 0x10], 1
lea eax, [esp + 0x20]
mov dword [esi - 4], edi
push eax
add esi, 0xe
call fcn.0053e870
test eax, eax
jne 0x53f060
jmp 0x53f0c9
mov dword [esp + 0x10], eax
test bl, bl
mov byte [esp + 0x14], bl
jbe 0x53f0e5
mov ecx, dword [esp + 0x14]
push 1
push ecx
lea edx, [esp + 0x2c]
push edx
call fcn.005bd9e0
add esp, 0xc
mov eax, dword [esp + 0x10]
mov byte [ebp + 9], al
mov word [ebp + 1], ax
xor eax, eax
mov byte [ebp], 0
mov dword [ebp + 5], eax
mov word [ebp + 3], ax
mov dword [esp + 0x10], 1
jmp case.0x53ea30.3
push 0
push esi
call fcn.005bdcf0
add esp, 8
jmp case.0x53ea30.3
push 0
push edi
push ebx
mov ecx, 0x1341740
call fcn.0053e650
jmp case.0x53ea30.3
mov ecx, dword [0x1341968]
mov eax, dword [ecx]
mov edx, dword [eax + 0x20]
push 0
push esi
push edi
push ebx
call edx
jmp case.0x53ea30.3
mov ecx, dword [0x1341968]
mov eax, dword [ecx]
mov edx, dword [eax + 0x3c]
push 0
push esi
push edi
push ebx
call edx
jmp case.0x53ea30.3
push esi
mov ecx, 0x1341740
call fcn.00595180
jmp case.0x53ea30.3
mov ecx, dword [0x1341968]
mov eax, dword [ecx]
mov edx, dword [eax + 0x30]
push 0
push edi
push ebx
call edx
jmp case.0x53ea30.3
push edi
mov ecx, 0x1341740
call fcn.005951b0
jmp case.0x53ea30.3
push edi
mov ecx, 0x1341740
call fcn.005951e0
jmp case.0x53ea30.3
push 0
push esi
push edi
push ebx
mov ecx, 0x1341740
call fcn.0053a860
jmp case.0x53ea30.3
mov ecx, dword [0x1341968]
mov eax, dword [ecx]
mov edx, dword [eax + 0x44]
push 0
push esi
push edi
push ebx
call edx
jmp case.0x53ea30.3
mov ecx, dword [0x1341968]
mov eax, dword [ecx]
mov edx, dword [eax + 0x48]
push 0
push esi
push edi
push ebx
call edx
jmp case.0x53ea30.3
mov ecx, dword [0x1341968]
mov eax, dword [ecx]
mov edx, dword [eax + 0x50]
push 0
push esi
push edi
push ebx
call edx
jmp case.0x53ea30.3
push 0
push esi
push edi
push ebx
mov ecx, 0x1341740
call fcn.0053e6a0
jmp case.0x53ea30.3
push 0
push esi
push edi
push ebx
mov ecx, 0x1341740
call fcn.0053a830
jmp case.0x53ea30.3
push 0
push esi
push edi
call fcn.005bdb00
add esp, 0xc
jmp case.0x53ea30.3
push esi
push ebx
push edi
mov ecx, 0x1341740
call fcn.0059a0d0
mov dword [esp + 0x10], eax
jmp case.0x53ea30.3
mov ecx, dword [0x1341968]
mov eax, dword [ecx]
mov edx, dword [eax + 0x80]
push 0
push ebp
push esi
push edi
push ebx
call edx
jmp case.0x53ea30.3
mov ecx, dword [0x1341968]
mov eax, dword [ecx]
mov edx, dword [eax + 0x120]
push esi
push edi
push ebx
call edx
jmp case.0x53ea30.3
push esi
mov ecx, 0x12c5598
mov dword [esp + 0x14], 0
call fcn.00580850
test eax, eax
jle case.0x53ea30.3
mov edx, dword [0x12c5540]
imul eax, eax, 0x113b8
add eax, edx
cmp dword [eax + 0x24], 1
mov dword [esp + 0x18], eax
jne case.0x53ea30.3
mov ecx, dword [0x8e4d00]
test byte [ecx + 0xf4], 2
je case.0x53ea30.3
push eax
mov eax, dword [0x8e48f4]
mov ecx, dword [eax + 0x8c44]
imul ecx, ecx, 0x113b8
add ecx, edx
call fcn.00538970
test eax, eax
je case.0x53ea30.3
test edi, edi
je case.0x53ea30.3
push edi
mov ecx, 0x1341744
call fcn.00549930
mov ebp, eax
test ebp, ebp
je case.0x53ea30.3
push 7
mov ecx, 0x1605fd0
lea edi, [ebp + 0x38]
call fcn.00538780
add eax, 6
mov esi, edi
mov cl, byte [esi]
cmp cl, byte [eax]
jne 0x53f338
test cl, cl
je 0x53f334
mov cl, byte [esi + 1]
cmp cl, byte [eax + 1]
jne 0x53f338
add esi, 2
add eax, 2
test cl, cl
jne 0x53f318
xor eax, eax
jmp 0x53f33d
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x53f37f
push 4
mov ecx, 0x1605fd0
call fcn.00538780
add eax, 6
mov esi, edi
mov cl, byte [esi]
cmp cl, byte [eax]
jne 0x53f372
test cl, cl
je 0x53f36e
mov cl, byte [esi + 1]
cmp cl, byte [eax + 1]
jne 0x53f372
add esi, 2
add eax, 2
test cl, cl
jne 0x53f352
xor eax, eax
jmp 0x53f377
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne case.0x53ea30.3
mov ecx, ebp
call fcn.0053e810
mov esi, eax
test esi, esi
je case.0x53ea30.3
push ebx
mov ecx, ebp
call fcn.0053e930
test eax, eax
je case.0x53ea30.3
mov ecx, dword [esp + 0x18]
add ecx, 0x130d
mov eax, esi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x53f3c8
test dl, dl
je 0x53f3c4
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x53f3c8
add eax, 2
add ecx, 2
test dl, dl
jne 0x53f3a8
xor eax, eax
jmp 0x53f3cd
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je case.0x53ea30.3
mov dword [esp + 0x10], 1
jmp case.0x53ea30.3
mov ecx, dword [0x6e1da4]
mov byte [esp + 0x18], 0xa9
mov word [esp + 0x19], 7
mov byte [esp + 0x1b], 0
mov dword [esp + 0x1c], esi
mov edx, dword [ecx]
mov edx, dword [edx + 0x10]
push 8
lea eax, [esp + 0x1c]
push eax
call edx
jmp case.0x53ea30.3
push ebp
push esi
push 1
jmp 0x53f410
push ebp
push esi
push 0
lea ecx, [eax + 0xecc4]
call fcn.005b9740
mov ecx, dword [esp + 0x170]
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00612c78
add esp, 0x164
ret 0xc