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

Disassembly:
push ebx
push esi
push edi
push ebp
push ecx
mov dword [esp], eax
mov edi, 0x549d80
call fcn.00529304
call fcn.005291b0
mov eax, dword [esp]
cmp dword [eax + 0x650], 0x708
jle 0x53350f
mov eax, dword [esp]
xor edx, edx
mov dword [eax + 0x650], edx
mov eax, dword [esp]
call fcn.00533194
jmp 0x533518
mov eax, dword [esp]
inc dword [eax + 0x650]
mov byte [0x549e10], 0
cmp byte [edi + 7], 0
je 0x53353c
mov eax, 0x534250
call fcn.0052b434
mov byte [edi + 7], 0
call fcn.0052c698
mov byte [edi + 8], 1
cmp byte [edi + 9], 0
je 0x53355c
mov eax, 0x53426c
call fcn.0052b434
mov byte [edi + 9], 0
xor edx, edx
mov eax, 2
call fcn.0052b458
cmp byte [edi + 8], 0
je 0x5335b1
mov eax, 0x534290
call fcn.0052b434
mov byte [edi + 8], 0
mov eax, dword [esp]
call fcn.005314d0
mov byte [0x549e10], 1
mov ebp, 1
mov ebx, 0x5497a0
mov esi, 0x549da4
cmp dword [ebx], 0
jne 0x53359d
mov edx, ebp
mov eax, dword [esp]
call fcn.005313d4
mov eax, dword [ebx - 4]
mov dword [esi], eax
inc ebp
add esi, 4
add ebx, 0xa8
cmp ebp, 0xa
jne 0x53358e
cmp byte [edi + 2], 0
jne 0x534191
mov eax, dword [0x549790]
call fcn.00538434
cmp byte [0x54983d], 0
je 0x533620
mov eax, dword [0x549790]
cmp byte [eax + 0x107], 0
je 0x533620
mov eax, 0x8d
call fcn.0052aeb8
test al, al
je 0x533606
mov eax, 0x5342ac
call fcn.0052b434
mov eax, dword [esp]
mov eax, dword [eax + 0x598]
xor edx, edx
call fcn.0043f060
jmp 0x533620
mov eax, 0x5342d0
call fcn.0052b434
mov eax, dword [esp]
mov eax, dword [eax + 0x598]
mov dl, 1
call fcn.0043f060
cmp byte [0x54983c], 0
je 0x5336b3
mov eax, dword [0x549790]
cmp byte [eax + 0x106], 0
je 0x5336b3
mov eax, dword [0x549790]
cmp byte [eax + 0x105], 0
je 0x53368f
mov eax, 0x8c
call fcn.0052aeb8
test al, al
je 0x533673
mov eax, 0x534308
call fcn.0052b434
mov eax, dword [esp]
mov eax, dword [eax + 0x594]
xor edx, edx
call fcn.0043f060
jmp 0x5336b3
mov eax, 0x53432c
call fcn.0052b434
mov eax, dword [esp]
mov eax, dword [eax + 0x594]
mov dl, 1
call fcn.0043f060
jmp 0x5336b3
mov eax, 0x8b
call fcn.0052aeb8
mov eax, 0x534364
call fcn.0052b434
mov eax, dword [esp]
mov eax, dword [eax + 0x594]
xor edx, edx
call fcn.0043f060
mov ebp, 1
mov esi, 0x549da4
mov ebx, 0x54979c
mov edi, 0x549dc8
mov eax, dword [esi]
cmp eax, dword [ebx]
jl case.default.0x533711
xor eax, eax
mov dword [esi], eax
cmp dword [ebx + 4], 0
je 0x5336e7
cmp dword [ebx + 4], 0
je 0x5336fa
cmp dword [ebx + 8], 1
jle 0x5336fa
cmp dword [edi], 0xa
jle 0x5336fa
mov eax, dword [0x549790]
call fcn.00538650
xor eax, eax
mov dword [edi], eax
mov eax, dword [ebx + 4]
test eax, eax
je case.default.0x533711
mov edx, dword [ebx + 8]
cmp edx, 0x24
ja case.default.0x533711
jmp dword [edx*4 + 0x533718]
cmp byte [0x549e10], 0
jne 0x5337bf
mov eax, dword [0x549790]
call fcn.00538650
mov byte [0x549e10], 1
xor eax, eax
mov dword [edi], eax
push 0
push 0x400
push 0
push 0x400
mov eax, dword [0x549790]
mov edx, dword [eax + 0x94]
mov eax, dword [eax + 0x90]
call fcn.00405e4c
call fcn.00405e4c
push eax
push 0
push 0x400
push 0
push 0x400
mov eax, dword [0x549790]
mov edx, dword [eax + 0x8c]
mov eax, dword [eax + 0x88]
call fcn.00405e4c
call fcn.00405e4c
push eax
push 1
mov ecx, dword [ebx + 4]
mov edx, ebp
mov eax, dword [esp + 0xc]
call fcn.005314f8
jmp case.default.0x533711
cmp byte [0x549e10], 0
jne 0x533846
mov eax, dword [0x549790]
call fcn.00538650
mov byte [0x549e10], 1
xor eax, eax
mov dword [edi], eax
push 0
push 0x400
push 0
push 0x400
mov eax, dword [0x549790]
mov edx, dword [eax + 0x9c]
mov eax, dword [eax + 0x98]
call fcn.00405e4c
call fcn.00405e4c
push eax
push 0
push 0x400
push 0
push 0x400
mov eax, dword [0x549790]
mov edx, dword [eax + 0x8c]
mov eax, dword [eax + 0x88]
call fcn.00405e4c
call fcn.00405e4c
push eax
push 1
mov ecx, dword [ebx + 4]
mov edx, ebp
mov eax, dword [esp + 0xc]
call fcn.005314f8
jmp case.default.0x533711
mov edx, dword [0x549790]
mov edx, dword [edx + 0x128]
cmp edx, 0xffffffff
jle case.default.0x533711
push edx
push 0x64
push 0
mov ecx, eax
mov eax, dword [esp + 0xc]
mov edx, ebp
call fcn.005314f8
jmp case.default.0x533711
mov edx, dword [0x542b9c]
mov edx, dword [edx]
cmp edx, 0xffffffff
jle case.default.0x533711
mov ecx, dword [0x542b9c]
push edx
push 0x64
push 0
mov ecx, eax
mov eax, dword [esp + 0xc]
mov edx, ebp
call fcn.005314f8
jmp case.default.0x533711
mov edx, dword [0x542b9c]
mov edx, dword [edx + 4]
cmp edx, 0xffffffff
jle case.default.0x533711
mov ecx, dword [0x542b9c]
push edx
push 0x64
push 0
mov ecx, eax
mov eax, dword [esp + 0xc]
mov edx, ebp
call fcn.005314f8
jmp case.default.0x533711
mov edx, dword [0x542b9c]
mov edx, dword [edx + 8]
cmp edx, 0xffffffff
jle case.default.0x533711
mov ecx, dword [0x542b9c]
push edx
push 0x64
push 0
mov ecx, eax
mov eax, dword [esp + 0xc]
mov edx, ebp
call fcn.005314f8
jmp case.default.0x533711
mov edx, dword [0x542b9c]
mov edx, dword [edx + 0xc]
cmp edx, 0xffffffff
jle case.default.0x533711
mov ecx, dword [0x542b9c]
push edx
push 0x64
push 0
mov ecx, eax
mov eax, dword [esp + 0xc]
mov edx, ebp
call fcn.005314f8
jmp case.default.0x533711
mov edx, dword [0x542b9c]
mov edx, dword [edx + 0x10]
cmp edx, 0xffffffff
jle case.default.0x533711
mov ecx, dword [0x542b9c]
push edx
push 0x64
push 0
mov ecx, eax
mov eax, dword [esp + 0xc]
mov edx, ebp
call fcn.005314f8
jmp case.default.0x533711
mov edx, dword [0x542b9c]
mov edx, dword [edx + 0x14]
cmp edx, 0xffffffff
jle case.default.0x533711
mov ecx, dword [0x542b9c]
push edx
push 0x64
push 0
mov ecx, eax
mov eax, dword [esp + 0xc]
mov edx, ebp
call fcn.005314f8
jmp case.default.0x533711
mov edx, dword [0x542b9c]
mov edx, dword [edx + 0x18]
cmp edx, 0xffffffff
jle case.default.0x533711
mov ecx, dword [0x542b9c]
push edx
push 0x64
push 0
mov ecx, eax
mov eax, dword [esp + 0xc]
mov edx, ebp
call fcn.005314f8
jmp case.default.0x533711
mov edx, dword [0x542b9c]
mov edx, dword [edx + 0x1c]
cmp edx, 0xffffffff
jle case.default.0x533711
mov ecx, dword [0x542b9c]
push edx
push 0x64
push 0
mov ecx, eax
mov eax, dword [esp + 0xc]
mov edx, ebp
call fcn.005314f8
jmp case.default.0x533711
mov edx, dword [0x549790]
cmp dword [edx + 0x128], 0xffffffff
jle case.default.0x533711
mov edx, dword [0x549790]
mov ecx, 0x64
sub ecx, dword [edx + 0x128]
push ecx
push 0x64
push 0
mov ecx, eax
mov edx, ebp
mov eax, dword [esp + 0xc]
call fcn.005314f8
jmp case.default.0x533711
mov edx, dword [0x542468]
mov edx, dword [edx]
cmp edx, 0xffffffff
jle case.default.0x533711
mov ecx, dword [0x542468]
push edx
push 0x64
push 0
mov ecx, eax
mov eax, dword [esp + 0xc]
mov edx, ebp
call fcn.005314f8
jmp case.default.0x533711
mov edx, dword [0x542468]
mov edx, dword [edx + 4]
cmp edx, 0xffffffff
jle case.default.0x533711
mov ecx, dword [0x542468]
push edx
push 0x64
push 0
mov ecx, eax
mov eax, dword [esp + 0xc]
mov edx, ebp
call fcn.005314f8
jmp case.default.0x533711
mov edx, dword [0x542468]
mov edx, dword [edx + 8]
cmp edx, 0xffffffff
jle case.default.0x533711
mov ecx, dword [0x542468]
push edx
push 0x64
push 0
mov ecx, eax
mov eax, dword [esp + 0xc]
mov edx, ebp
call fcn.005314f8
jmp case.default.0x533711
mov edx, dword [0x542468]
mov edx, dword [edx + 0xc]
cmp edx, 0xffffffff
jle case.default.0x533711
mov ecx, dword [0x542468]
push edx
push 0x64
push 0
mov ecx, eax
mov eax, dword [esp + 0xc]
mov edx, ebp
call fcn.005314f8
jmp case.default.0x533711
mov edx, dword [0x542468]
mov edx, dword [edx + 0x10]
cmp edx, 0xffffffff
jle case.default.0x533711
mov ecx, dword [0x542468]
push edx
push 0x64
push 0
mov ecx, eax
mov eax, dword [esp + 0xc]
mov edx, ebp
call fcn.005314f8
jmp case.default.0x533711
mov edx, dword [0x542468]
mov edx, dword [edx + 0x14]
cmp edx, 0xffffffff
jle case.default.0x533711
mov ecx, dword [0x542468]
push edx
push 0x64
push 0
mov ecx, eax
mov eax, dword [esp + 0xc]
mov edx, ebp
call fcn.005314f8
jmp case.default.0x533711
mov edx, dword [0x542468]
mov edx, dword [edx + 0x18]
cmp edx, 0xffffffff
jle case.default.0x533711
mov ecx, dword [0x542468]
push edx
push 0x64
push 0
mov ecx, eax
mov eax, dword [esp + 0xc]
mov edx, ebp
call fcn.005314f8
jmp case.default.0x533711
mov edx, dword [0x542468]
mov edx, dword [edx + 0x1c]
cmp edx, 0xffffffff
jle case.default.0x533711
mov ecx, dword [0x542468]
push edx
push 0x64
push 0
mov ecx, eax
mov eax, dword [esp + 0xc]
mov edx, ebp
call fcn.005314f8
jmp case.default.0x533711
mov eax, dword [0x549790]
call fcn.005387b4
mov eax, dword [0x549790]
mov eax, dword [eax + 0xfc]
shr eax, 0xa
shr eax, 0xa
push eax
push 0
push 0x400
push 0
push 0x400
mov eax, dword [0x549790]
mov edx, dword [eax + 0xb4]
mov eax, dword [eax + 0xb0]
call fcn.00405e4c
call fcn.00405e4c
push eax
push 0
mov ecx, dword [ebx + 4]
mov edx, ebp
mov eax, dword [esp + 0xc]
call fcn.005314f8
jmp case.default.0x533711
mov eax, dword [0x542b9c]
cmp dword [eax], 0xffffffff
jle case.default.0x533711
mov eax, dword [0x542b9c]
cmp dword [eax + 4], 0xffffffff
jle case.default.0x533711
mov eax, dword [0x542468]
mov eax, dword [eax]
mov edx, dword [0x542468]
add eax, dword [edx + 4]
sar eax, 1
jns 0x533c9e
adc eax, 0
push eax
push 0x64
push 0
mov ecx, dword [ebx + 4]
mov edx, ebp
mov eax, dword [esp + 0xc]
call fcn.005314f8
jmp case.default.0x533711
mov eax, dword [0x542b9c]
cmp dword [eax + 8], 0xffffffff
jle case.default.0x533711
mov eax, dword [0x542b9c]
cmp dword [eax + 0xc], 0xffffffff
jle case.default.0x533711
mov eax, dword [0x542468]
mov eax, dword [eax + 8]
mov edx, dword [0x542468]
add eax, dword [edx + 0xc]
sar eax, 1
jns 0x533cec
adc eax, 0
push eax
push 0x64
push 0
mov ecx, dword [ebx + 4]
mov edx, ebp
mov eax, dword [esp + 0xc]
call fcn.005314f8
jmp case.default.0x533711
mov eax, dword [0x542b9c]
cmp dword [eax + 0x10], 0xffffffff
jle case.default.0x533711
mov eax, dword [0x542b9c]
cmp dword [eax + 0x14], 0xffffffff
jle case.default.0x533711
mov eax, dword [0x542468]
mov eax, dword [eax + 0x10]
mov edx, dword [0x542468]
add eax, dword [edx + 0x14]
sar eax, 1
jns 0x533d3a
adc eax, 0
push eax
push 0x64
push 0
mov ecx, dword [ebx + 4]
mov edx, ebp
mov eax, dword [esp + 0xc]
call fcn.005314f8
jmp case.default.0x533711
mov eax, dword [0x542b9c]
cmp dword [eax + 0x18], 0xffffffff
jle case.default.0x533711
mov eax, dword [0x542b9c]
cmp dword [eax + 0x1c], 0xffffffff
jle case.default.0x533711
mov eax, dword [0x542468]
mov eax, dword [eax + 0x18]
mov edx, dword [0x542468]
add eax, dword [edx + 0x1c]
sar eax, 1
jns 0x533d88
adc eax, 0
push eax
push 0x64
push 0
mov ecx, dword [ebx + 4]
mov edx, ebp
mov eax, dword [esp + 0xc]
call fcn.005314f8
jmp case.default.0x533711
mov eax, dword [0x542b9c]
cmp dword [eax + 0x20], 0xffffffff
jle case.default.0x533711
mov eax, dword [0x542b9c]
cmp dword [eax + 0x24], 0xffffffff
jle case.default.0x533711
mov eax, dword [0x542468]
mov eax, dword [eax + 0x20]
mov edx, dword [0x542468]
add eax, dword [edx + 0x24]
sar eax, 1
jns 0x533dd6
adc eax, 0
push eax
push 0x64
push 0
mov ecx, dword [ebx + 4]
mov edx, ebp
mov eax, dword [esp + 0xc]
call fcn.005314f8
jmp case.default.0x533711
mov eax, dword [0x542b9c]
cmp dword [eax + 0x28], 0xffffffff
jle case.default.0x533711
mov eax, dword [0x542b9c]
cmp dword [eax + 0x2c], 0xffffffff
jle case.default.0x533711
mov eax, dword [0x542468]
mov eax, dword [eax + 0x28]
mov edx, dword [0x542468]
add eax, dword [edx + 0x2c]
sar eax, 1
jns 0x533e24
adc eax, 0
push eax
push 0x64
push 0
mov ecx, dword [ebx + 4]
mov edx, ebp
mov eax, dword [esp + 0xc]
call fcn.005314f8
jmp case.default.0x533711
mov eax, dword [0x542b9c]
cmp dword [eax + 0x30], 0xffffffff
jle case.default.0x533711
mov eax, dword [0x542b9c]
cmp dword [eax + 0x34], 0xffffffff
jle case.default.0x533711
mov eax, dword [0x542468]
mov eax, dword [eax + 0x30]
mov edx, dword [0x542468]
add eax, dword [edx + 0x34]
sar eax, 1
jns 0x533e72
adc eax, 0
push eax
push 0x64
push 0
mov ecx, dword [ebx + 4]
mov edx, ebp
mov eax, dword [esp + 0xc]
call fcn.005314f8
jmp case.default.0x533711
mov eax, dword [0x542b9c]
cmp dword [eax + 0x38], 0xffffffff
jle case.default.0x533711
mov eax, dword [0x542b9c]
cmp dword [eax + 0x3c], 0xffffffff
jle case.default.0x533711
mov eax, dword [0x542468]
mov eax, dword [eax + 0x38]
mov edx, dword [0x542468]
add eax, dword [edx + 0x3c]
sar eax, 1
jns 0x533ec0
adc eax, 0
push eax
push 0x64
push 0
mov ecx, dword [ebx + 4]
mov edx, ebp
mov eax, dword [esp + 0xc]
call fcn.005314f8
jmp case.default.0x533711
mov edx, dword [0x542b9c]
cmp dword [edx + 0xc], 0xffffffff
jle case.default.0x533711
mov edx, dword [0x542468]
mov edx, dword [edx]
mov ecx, dword [0x542468]
add edx, dword [ecx + 4]
mov ecx, dword [0x542468]
add edx, dword [ecx + 8]
mov ecx, dword [0x542468]
add edx, dword [ecx + 0xc]
test edx, edx
jns 0x533f12
add edx, 3
sar edx, 2
push edx
push 0x64
push 0
mov ecx, eax
mov edx, ebp
mov eax, dword [esp + 0xc]
call fcn.005314f8
jmp case.default.0x533711
mov edx, dword [0x542b9c]
cmp dword [edx + 0x1c], 0xffffffff
jle case.default.0x533711
mov edx, dword [0x542468]
mov edx, dword [edx + 0xc]
mov ecx, dword [0x542468]
add edx, dword [ecx + 0x14]
mov ecx, dword [0x542468]
add edx, dword [ecx + 0x18]
mov ecx, dword [0x542468]
add edx, dword [ecx + 0x1c]
test edx, edx
jns 0x533f67
add edx, 3
sar edx, 2
push edx
push 0x64
push 0
mov ecx, eax
mov edx, ebp
mov eax, dword [esp + 0xc]
call fcn.005314f8
jmp case.default.0x533711
mov edx, dword [0x542b9c]
cmp dword [edx + 0x2c], 0xffffffff
jle case.default.0x533711
mov edx, dword [0x542468]
mov edx, dword [edx + 0x20]
mov ecx, dword [0x542468]
add edx, dword [ecx + 0x24]
mov ecx, dword [0x542468]
add edx, dword [ecx + 0x28]
mov ecx, dword [0x542468]
add edx, dword [ecx + 0x2c]
test edx, edx
jns 0x533fbc
add edx, 3
sar edx, 2
push edx
push 0x64
push 0
mov ecx, eax
mov edx, ebp
mov eax, dword [esp + 0xc]
call fcn.005314f8
jmp case.default.0x533711
mov edx, dword [0x542b9c]
cmp dword [edx + 0x3c], 0xffffffff
jle case.default.0x533711
mov edx, dword [0x542468]
mov edx, dword [edx + 0x30]
mov ecx, dword [0x542468]
add edx, dword [ecx + 0x34]
mov ecx, dword [0x542468]
add edx, dword [ecx + 0x38]
mov ecx, dword [0x542468]
add edx, dword [ecx + 0x3c]
test edx, edx
jns 0x534011
add edx, 3
sar edx, 2
push edx
push 0x64
push 0
mov ecx, eax
mov edx, ebp
mov eax, dword [esp + 0xc]
call fcn.005314f8
jmp case.default.0x533711
mov edx, dword [0x542b9c]
cmp dword [edx + 0x4c], 0xffffffff
jle case.default.0x533711
mov edx, dword [0x542468]
mov edx, dword [edx + 0x40]
mov ecx, dword [0x542468]
add edx, dword [ecx + 0x44]
mov ecx, dword [0x542468]
add edx, dword [ecx + 0x48]
mov ecx, dword [0x542468]
add edx, dword [ecx + 0x4c]
test edx, edx
jns 0x534066
add edx, 3
sar edx, 2
push edx
push 0x64
push 0
mov ecx, eax
mov edx, ebp
mov eax, dword [esp + 0xc]
call fcn.005314f8
jmp case.default.0x533711
mov edx, dword [0x542b9c]
cmp dword [edx + 0x5c], 0xffffffff
jle case.default.0x533711
mov edx, dword [0x542468]
mov edx, dword [edx + 0x50]
mov ecx, dword [0x542468]
add edx, dword [ecx + 0x54]
mov ecx, dword [0x542468]
add edx, dword [ecx + 0x58]
mov ecx, dword [0x542468]
add edx, dword [ecx + 0x5c]
test edx, edx
jns 0x5340bb
add edx, 3
sar edx, 2
push edx
push 0x64
push 0
mov ecx, eax
mov edx, ebp
mov eax, dword [esp + 0xc]
call fcn.005314f8
jmp case.default.0x533711
mov edx, dword [0x542b9c]
cmp dword [edx + 0x6c], 0xffffffff
jle case.default.0x533711
mov edx, dword [0x542468]
mov edx, dword [edx + 0x60]
mov ecx, dword [0x542468]
add edx, dword [ecx + 0x64]
mov ecx, dword [0x542468]
add edx, dword [ecx + 0x68]
mov ecx, dword [0x542468]
add edx, dword [ecx + 0x6c]
test edx, edx
jns 0x534110
add edx, 3
sar edx, 2
push edx
push 0x64
push 0
mov ecx, eax
mov edx, ebp
mov eax, dword [esp + 0xc]
call fcn.005314f8
jmp case.default.0x533711
mov edx, dword [0x542b9c]
cmp dword [edx + 0x7c], 0xffffffff
jle case.default.0x533711
mov edx, dword [0x542468]
mov edx, dword [edx + 0x70]
mov ecx, dword [0x542468]
add edx, dword [ecx + 0x74]
mov ecx, dword [0x542468]
add edx, dword [ecx + 0x78]
mov ecx, dword [0x542468]
add edx, dword [ecx + 0x7c]
test edx, edx
jns 0x53415e
add edx, 3
sar edx, 2
push edx
push 0x64
push 0
mov ecx, eax
mov edx, ebp
mov eax, dword [esp + 0xc]
call fcn.005314f8
add dword [esi], 0x3e8
inc dword [edi]
inc ebp
add edi, 4
add ebx, 0xa8
add esi, 4
cmp ebp, 0xa
jne 0x5336c7
mov eax, dword [0x549790]
cmp dword [eax + 0x128], 0xffffffff
jne 0x5341ae
mov eax, dword [0x549790]
mov dword [eax + 0x128], 0x64
mov eax, dword [0x549790]
movzx eax, word [eax + 0x128]
imul eax, eax, 0x64
mov edx, dword [0x549790]
mov ecx, dword [edx + 0x134]
xor edx, edx
div ecx
mov edx, dword [0x549790]
movzx edx, byte [edx + 0x124]
mov ecx, edx
xor edx, edx
div ecx
mov dx, 0x64
sub dx, ax
mov eax, dword [esp]
mov eax, dword [eax + 0x648]
call fcn.005388a8
mov eax, dword [0x549790]
mov eax, dword [eax + 0x120]
test eax, eax
je 0x53421b
cmp eax, dword [0x541e78]
je 0x53421b
mov dword [0x541e78], eax
mov eax, dword [esp]
call fcn.0052bf34
jmp 0x534241
cmp dword [0x541e78], 0
je 0x534241
mov eax, dword [0x549790]
cmp dword [eax + 0x120], 0
jne 0x534241
mov eax, dword [esp]
call fcn.0053201c
xor eax, eax
mov dword [0x541e78], eax
pop edx
pop ebp
pop edi
pop esi
pop ebx
ret