Function at 0x53d477
Capabilities:
Contain obfuscated stackstrings
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x737938
mov eax, dword fs:[0]
push eax
sub esp, 0x148
push ebx
push esi
push edi
mov eax, dword [0x820ac4]
xor eax, esp
push eax
lea eax, [esp + 0x158]
mov dword fs:[0], eax
mov edi, ecx
mov ebx, dword [ebp + 0x14]
and dword [esp + 0x18], 0
lea eax, [edi + 1]
cmp eax, ebx
jne 0x53d958
lea eax, [ebx - 1]
push eax
lea eax, [esp + 0x34]
push eax
call fcn.0052cbae
pop ecx
pop ecx
and dword [esp + 0x160], 0
xor ecx, ecx
inc ecx
lea esi, [esp + 0x44]
call fcn.0052ca64
lea eax, [esp + 0xc0]
push ebx
push eax
mov byte [esp + 0x168], 1
call fcn.0052cbae
mov ecx, esi
push ecx
lea ecx, [esp + 0x64]
push ecx
mov edi, eax
mov byte [esp + 0x170], 2
call fcn.004606dd
add esp, 0x10
push dword [esp + 0xcc]
mov esi, dword [esp + 0xcc]
call fcn.0052fe01
mov byte [esp + 0x160], 5
push dword [esp + 0x50]
mov esi, dword [esp + 0x50]
call fcn.0052fe01
mov eax, dword [ebp + 0xc]
imul eax, eax, 5
add eax, 6
mov byte [esp + 0x17], 0
mov dword [esp + 0xa8], eax
push 0xc
pop ecx
lea esi, [esp + 0x1c]
call fcn.0052ca64
mov ecx, dword [esp + 0xa8]
lea esi, [esp + 0x44]
mov byte [esp + 0x160], 6
call fcn.0052ca64
mov ebx, dword [ebp + 8]
lea eax, [esp + 0x1c]
push eax
mov eax, esi
push eax
push 0
lea eax, [esp + 0x64]
push eax
lea eax, [esp + 0x40]
push eax
push dword [ebp + 0x10]
mov byte [esp + 0x178], 7
push ebx
call fcn.0052d315
push dword [esp + 0x50]
mov esi, dword [esp + 0x50]
call fcn.0052fe01
mov byte [esp + 0x160], 5
push dword [esp + 0x28]
mov esi, dword [esp + 0x28]
call fcn.0052fe01
push 0xc
pop ecx
lea esi, [esp + 0x44]
call fcn.0052ca64
lea edx, [esp + 0x58]
mov byte [esp + 0x160], 8
call fcn.0052cda1
mov ecx, eax
imul ecx, ecx, 0xc
lea esi, [esp + 0x1c]
call fcn.0052ca64
mov eax, esi
push eax
lea eax, [esp + 0x98]
push eax
mov edi, ebx
mov byte [esp + 0x168], 9
call fcn.004606c5
pop ecx
pop ecx
push dword [ebp + 0xc]
lea ecx, [esp + 0x48]
push ecx
lea ecx, [esp + 0x60]
push ecx
push eax
mov byte [esp + 0x170], 0xa
call fcn.00530243
pop ecx
pop ecx
push eax
push ebx
lea eax, [esp + 0x10c]
push eax
call fcn.0053c6b5
push dword [esp + 0xa0]
mov esi, dword [esp + 0xa0]
call fcn.0052fe01
push dword [esp + 0x28]
mov esi, dword [esp + 0x28]
call fcn.0052fe01
mov byte [esp + 0x160], 0xe
push dword [esp + 0x50]
mov esi, dword [esp + 0x50]
call fcn.0052fe01
jmp 0x53d71b
mov ecx, dword [ebp + 0xc]
lea esi, [esp + 0x1c]
call fcn.0052ca64
mov eax, esi
push eax
lea eax, [esp + 0x70]
push eax
mov edi, ebx
mov byte [esp + 0x168], 0xf
call fcn.004606dd
pop ecx
pop ecx
push 1
lea ecx, [esp + 0x84]
push ecx
push eax
mov byte [esp + 0x16c], 0x10
call fcn.0052a189
lea edi, [ebx + 0x14]
push eax
mov esi, edi
mov byte [esp + 0x164], 0x11
call fcn.0052cc2d
push dword [esp + 0x8c]
mov esi, dword [esp + 0x8c]
call fcn.0052fe01
push dword [esp + 0x78]
mov esi, dword [esp + 0x78]
call fcn.0052fe01
mov byte [esp + 0x160], 0xe
push dword [esp + 0x28]
mov esi, dword [esp + 0x28]
call fcn.0052fe01
push edi
call fcn.0053c679
test al, al
pop ecx
je 0x53d71b
push ebx
call fcn.0053c679
test al, al
pop ecx
je 0x53d71b
mov ecx, edi
call fcn.0053c575
test al, al
je 0x53d71b
mov ecx, ebx
call fcn.0053c575
test al, al
jne 0x53d732
push ebx
lea ecx, [esp + 0x100]
call fcn.0053c717
test al, al
jne 0x53d66a
jmp 0x53d737
mov byte [esp + 0x17], 1
lea edi, [esp + 0xfc]
mov byte [esp + 0x160], 5
call fcn.0053cfdc
cmp byte [esp + 0x17], 0
je 0x53d54f
cmp dword [ebp + 0xc], 1
lea esi, [esp + 0x1c]
jne 0x53d7c3
push 2
pop ecx
call fcn.0052ca64
mov eax, esi
lea edi, [ebx + 0x28]
push eax
mov esi, edi
mov byte [esp + 0x164], 0x12
call fcn.0052cc2d
mov byte [esp + 0x160], 5
push dword [esp + 0x28]
mov esi, dword [esp + 0x28]
call fcn.0052fe01
jmp 0x53d79b
mov eax, edi
call fcn.0052de39
push ebx
push edi
call fcn.0053d0a7
cmp eax, 1
pop ecx
pop ecx
jne 0x53d794
push dword [esp + 0x64]
mov esi, dword [esp + 0x64]
call fcn.0052fe01
push dword [esp + 0x3c]
mov esi, dword [esp + 0x3c]
jmp 0x53df21
push 3
pop ecx
call fcn.0052ca64
lea eax, [esp + 0x1c]
lea esi, [ebx + 0x28]
push eax
mov byte [esp + 0x164], 0x13
call fcn.0052cc2d
mov byte [esp + 0x160], 5
push dword [esp + 0x28]
mov esi, dword [esp + 0x28]
call fcn.0052fe01
push 4
pop ecx
lea esi, [esp + 0x44]
call fcn.0052ca64
lea edi, [ebx + 0x28]
lea eax, [esp + 0x6c]
push edi
mov byte [esp + 0x164], 0x14
or dword [esp + 0x1c], 1
push eax
call fcn.004606f5
mov ecx, esi
push ecx
lea ecx, [esp + 0x8c]
mov dword [esp + 0x16c], 0x15
or dword [esp + 0x24], 2
push ecx
mov edi, eax
call fcn.004606dd
push ebx
mov dword [esp + 0x174], 0x16
or dword [esp + 0x2c], 4
push eax
call fcn.0053d0a7
add esp, 0x18
cmp eax, 0xffffffff
jne 0x53d8a7
push 2
pop ecx
lea esi, [esp + 0x1c]
call fcn.0052ca64
push ebx
lea eax, [ebx + 0x28]
push eax
lea eax, [ebx + 0x14]
push eax
lea eax, [esp + 0xa0]
mov dword [esp + 0x16c], 0x17
or dword [esp + 0x24], 8
push eax
call fcn.0053d1f1
or dword [esp + 0x28], 0x10
add esp, 0x10
mov edx, esi
call fcn.0052ea76
test eax, eax
mov byte [esp + 0x17], 1
je 0x53d8ac
mov byte [esp + 0x17], 0
test byte [esp + 0x18], 0x10
je 0x53d8cb
push dword [esp + 0xa0]
mov esi, dword [esp + 0xa0]
and dword [esp + 0x1c], 0xffffffef
call fcn.0052fe01
test byte [esp + 0x18], 8
je 0x53d8e4
push dword [esp + 0x28]
mov esi, dword [esp + 0x28]
and dword [esp + 0x1c], 0xfffffff7
call fcn.0052fe01
test byte [esp + 0x18], 4
je 0x53d903
push dword [esp + 0x8c]
mov esi, dword [esp + 0x8c]
and dword [esp + 0x1c], 0xfffffffb
call fcn.0052fe01
test byte [esp + 0x18], 2
je 0x53d91c
push dword [esp + 0x78]
mov esi, dword [esp + 0x78]
and dword [esp + 0x1c], 0xfffffffd
call fcn.0052fe01
mov dword [esp + 0x160], 5
test byte [esp + 0x18], 1
je 0x53d940
push dword [esp + 0x50]
mov esi, dword [esp + 0x50]
and dword [esp + 0x1c], 0xfffffffe
call fcn.0052fe01
cmp byte [esp + 0x17], 0
jne 0x53d7a9
lea eax, [ebx + 0x28]
call fcn.0052de39
jmp 0x53d7f5
lea eax, [edi - 1]
push eax
lea eax, [esp + 0xc4]
push eax
call fcn.0052cbae
pop ecx
pop ecx
xor ecx, ecx
inc ecx
lea esi, [esp + 0x30]
mov dword [esp + 0x160], 0x18
call fcn.0052ca64
lea eax, [esp + 0x1c]
push edi
push eax
mov byte [esp + 0x168], 0x19
call fcn.0052cbae
mov ecx, esi
push ecx
lea ecx, [esp + 0xa0]
push ecx
mov edi, eax
mov byte [esp + 0x170], 0x1a
call fcn.004606dd
add esp, 0x10
push dword [esp + 0x28]
mov esi, dword [esp + 0x28]
call fcn.0052fe01
mov byte [esp + 0x160], 0x1d
push dword [esp + 0x3c]
mov esi, dword [esp + 0x3c]
call fcn.0052fe01
lea eax, [ebx - 1]
push eax
lea eax, [esp + 0x84]
push eax
call fcn.0052cbae
pop ecx
pop ecx
xor ecx, ecx
inc ecx
lea esi, [esp + 0x30]
mov byte [esp + 0x160], 0x1e
call fcn.0052ca64
lea eax, [esp + 0xe8]
push ebx
push eax
mov byte [esp + 0x168], 0x1f
call fcn.0052cbae
mov ecx, esi
push ecx
lea ecx, [esp + 0x78]
push ecx
mov edi, eax
mov byte [esp + 0x170], 0x20
call fcn.004606dd
add esp, 0x10
push dword [esp + 0xf4]
mov esi, dword [esp + 0xf4]
call fcn.0052fe01
mov byte [esp + 0x160], 0x23
push dword [esp + 0x3c]
mov esi, dword [esp + 0x3c]
call fcn.0052fe01
mov edi, dword [ebp + 8]
add edi, 0x14
call fcn.0052febe
push eax
call fcn.0052fe2e
push eax
push 1
lea eax, [esp + 0xa0]
push eax
lea eax, [esp + 0xd0]
push eax
push dword [ebp + 0x10]
push edi
call fcn.0052d315
mov ecx, dword [ebp + 0xc]
lea esi, [esp + 0x30]
call fcn.0052ca64
push edi
mov eax, esi
push eax
lea eax, [esp + 0x24]
push eax
mov byte [esp + 0x16c], 0x24
call fcn.00460729
add esp, 0xc
push edi
push eax
push 1
lea eax, [esp + 0x78]
push eax
lea eax, [esp + 0x90]
push eax
push dword [ebp + 0x10]
mov byte [esp + 0x178], 0x25
push dword [ebp + 8]
call fcn.0052d315
push dword [esp + 0x28]
mov esi, dword [esp + 0x28]
mov bl, al
neg bl
sbb bl, bl
inc bl
call fcn.0052fe01
mov byte [esp + 0x160], 0x23
push dword [esp + 0x3c]
mov esi, dword [esp + 0x3c]
call fcn.0052fe01
test bl, bl
jne 0x53da59
cmp dword [ebp + 0xc], 1
jne 0x53dca0
mov ebx, dword [ebp + 8]
add ebx, 0x28
push 2
pop ecx
lea esi, [esp + 0x1c]
call fcn.0052ca64
push 2
pop ecx
lea esi, [esp + 0x30]
mov byte [esp + 0x160], 0x26
call fcn.0052ca64
mov edi, dword [ebp + 8]
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0x5c]
push eax
mov byte [esp + 0x168], 0x27
call fcn.004606dd
pop ecx
pop ecx
mov esi, eax
mov byte [esp + 0x160], 0x28
call fcn.0052febe
mov edi, eax
call fcn.0052fe2e
push edi
push eax
push esi
lea eax, [esp + 0x3c]
push eax
push dword [ebp + 0x10]
lea eax, [esp + 0x58]
push eax
call fcn.0052cb48
push dword [esp + 0x64]
mov esi, dword [esp + 0x64]
call fcn.0052fe01
push dword [esp + 0x3c]
mov esi, dword [esp + 0x3c]
call fcn.0052fe01
mov byte [esp + 0x160], 0x2c
push dword [esp + 0x28]
mov esi, dword [esp + 0x28]
call fcn.0052fe01
xor ecx, ecx
inc ecx
lea esi, [esp + 0x30]
call fcn.0052ca64
mov edi, dword [ebp + 8]
mov eax, esi
push eax
lea eax, [esp + 0xd8]
push eax
mov byte [esp + 0x168], 0x2d
call fcn.004606dd
lea ecx, [edi + 0x14]
push ecx
push eax
lea eax, [esp + 0xbc]
push eax
mov byte [esp + 0x174], 0x2e
call fcn.0046070e
add esp, 0x14
push eax
lea eax, [esp + 0x48]
push eax
lea eax, [esp + 0x24]
push eax
mov ecx, edi
mov byte [esp + 0x16c], 0x2f
call fcn.0052ec3f
add esp, 0xc
push eax
mov esi, ebx
mov byte [esp + 0x164], 0x30
call fcn.0052cc2d
push dword [esp + 0x28]
mov esi, dword [esp + 0x28]
call fcn.0052fe01
push dword [esp + 0xb8]
mov esi, dword [esp + 0xb8]
call fcn.0052fe01
push dword [esp + 0xe0]
mov esi, dword [esp + 0xe0]
call fcn.0052fe01
push dword [esp + 0x3c]
mov esi, dword [esp + 0x3c]
call fcn.0052fe01
mov byte [esp + 0x160], 0x23
push dword [esp + 0x50]
mov esi, dword [esp + 0x50]
call fcn.0052fe01
xor ecx, ecx
inc ecx
lea esi, [esp + 0x30]
call fcn.0052ca64
mov edx, esi
mov eax, ebx
call fcn.0052ea76
push dword [esp + 0x3c]
mov esi, dword [esp + 0x3c]
test eax, eax
setle byte [esp + 0x1b]
call fcn.0052fe01
cmp byte [esp + 0x17], 0
jne 0x53db0b
jmp 0x53dee0
xor ecx, ecx
inc ecx
lea esi, [esp + 0x1c]
call fcn.0052ca64
push 3
pop ecx
lea esi, [esp + 0x30]
mov byte [esp + 0x160], 0x31
call fcn.0052ca64
mov edi, dword [ebp + 8]
lea eax, [esp + 0x1c]
push eax
lea eax, [esp + 0xd8]
push eax
mov byte [esp + 0x168], 0x32
call fcn.004606dd
pop ecx
pop ecx
mov esi, eax
mov byte [esp + 0x160], 0x33
call fcn.0052febe
mov edi, eax
call fcn.0052fe2e
push edi
push eax
push esi
lea eax, [esp + 0x3c]
push eax
push dword [ebp + 0x10]
lea eax, [esp + 0x6c]
push eax
call fcn.0052cb48
push dword [esp + 0xe0]
mov esi, dword [esp + 0xe0]
call fcn.0052fe01
push dword [esp + 0x3c]
mov esi, dword [esp + 0x3c]
call fcn.0052fe01
mov byte [esp + 0x160], 0x37
push dword [esp + 0x28]
mov esi, dword [esp + 0x28]
call fcn.0052fe01
push 4
pop ecx
lea esi, [esp + 0x30]
call fcn.0052ca64
lea eax, [esp + 0x58]
push eax
lea eax, [esp + 0x20]
push eax
lea edi, [esp + 0x60]
mov byte [esp + 0x168], 0x38
call fcn.004606f5
mov ecx, esi
push ecx
lea ecx, [esp + 0xb8]
push ecx
mov edi, eax
mov byte [esp + 0x170], 0x39
call fcn.004606dd
push dword [ebp + 8]
mov byte [esp + 0x174], 0x3a
push eax
call fcn.0053d0a7
add esp, 0x18
push dword [esp + 0xb8]
mov ebx, eax
dec ebx
neg ebx
sbb bl, bl
inc bl
mov esi, dword [esp + 0xb8]
call fcn.0052fe01
push dword [esp + 0x28]
mov esi, dword [esp + 0x28]
call fcn.0052fe01
mov byte [esp + 0x160], 0x37
push dword [esp + 0x3c]
mov esi, dword [esp + 0x3c]
call fcn.0052fe01
test bl, bl
je 0x53ddf3
mov byte [esp + 0x160], 0x23
push dword [esp + 0x64]
mov esi, dword [esp + 0x64]
call fcn.0052fe01
mov edi, dword [ebp + 8]
jmp 0x53deb0
xor ecx, ecx
inc ecx
lea esi, [esp + 0x30]
call fcn.0052ca64
mov edi, dword [ebp + 8]
mov eax, esi
push eax
lea eax, [esp + 0x48]
push eax
mov byte [esp + 0x168], 0x3b
call fcn.004606c5
lea ecx, [edi + 0x14]
push ecx
push eax
lea eax, [esp + 0x2c]
push eax
mov byte [esp + 0x174], 0x3c
call fcn.0046070e
add esp, 0x14
push edi
lea ecx, [esp + 0x5c]
push ecx
push eax
lea eax, [esp + 0xb8]
push eax
mov byte [esp + 0x170], 0x3d
call fcn.0053d1f1
add esp, 0x10
push eax
lea esi, [edi + 0x28]
mov byte [esp + 0x164], 0x3e
call fcn.0052cc2d
push dword [esp + 0xb8]
mov esi, dword [esp + 0xb8]
call fcn.0052fe01
push dword [esp + 0x28]
mov esi, dword [esp + 0x28]
call fcn.0052fe01
push dword [esp + 0x50]
mov esi, dword [esp + 0x50]
call fcn.0052fe01
push dword [esp + 0x3c]
mov esi, dword [esp + 0x3c]
call fcn.0052fe01
mov byte [esp + 0x160], 0x23
push dword [esp + 0x64]
mov esi, dword [esp + 0x64]
call fcn.0052fe01
push 2
pop ecx
lea esi, [esp + 0x30]
call fcn.0052ca64
mov edx, esi
lea eax, [edi + 0x28]
call fcn.0052ea76
push dword [esp + 0x3c]
mov esi, dword [esp + 0x3c]
test eax, eax
setle bl
call fcn.0052fe01
test bl, bl
jne 0x53dca0
push dword [esp + 0x78]
mov esi, dword [esp + 0x78]
call fcn.0052fe01
push dword [esp + 0x8c]
mov esi, dword [esp + 0x8c]
call fcn.0052fe01
push dword [esp + 0xa0]
mov esi, dword [esp + 0xa0]
call fcn.0052fe01
push dword [esp + 0xcc]
mov esi, dword [esp + 0xcc]
call fcn.0052fe01
mov ecx, dword [esp + 0x158]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x10