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

Disassembly:
sub esp, 0x120
mov eax, dword [0x65ada4]
xor eax, esp
mov dword [esp + 0x11c], eax
mov eax, dword [esp + 0x128]
mov ecx, dword [esp + 0x12c]
mov edx, dword [esp + 0x130]
push ebx
push ebp
xor ebp, ebp
push esi
push edi
mov edi, dword [esp + 0x134]
push ebp
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x148]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x14c]
push 1
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x154]
mov dword [esp + 0x1c], eax
xor eax, eax
push ecx
push edi
mov dword [esp + 0x20], ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x48], ebp
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x50], ebp
mov dword [esp + 0x54], ebp
mov dword [esp + 0x58], ebp
mov dword [esp + 0x5c], ebp
mov dword [esp + 0x60], ebp
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], eax
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], eax
mov word [esp + 0x3c], ax
mov dword [esp + 0x38], ebp
call fcn.00423900
mov esi, eax
add esp, 0x10
cmp esi, ebp
jne 0x53c588
push ebp
push 1
lea ecx, [esp + 0x3b]
push ecx
push edi
call fcn.00423d00
mov esi, eax
add esp, 0x10
cmp esi, ebp
jne 0x53c588
push ebp
push 4
lea edx, [esp + 0x3c]
push edx
push edi
call fcn.00423d00
mov esi, eax
add esp, 0x10
cmp esi, ebp
jne 0x53c588
movsx eax, byte [esp + 0x33]
dec eax
cmp eax, 6
ja case.0x53b717.4
jmp dword [eax*4 + 0x53c600]
xor ebx, ebx
lea ebp, [esp + 0x58]
push 0
push 4
push ebp
push edi
call fcn.00423d00
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
inc ebx
add ebp, 4
cmp ebx, 4
jl 0x53b724
mov eax, dword [esp + 0x10]
push eax
push 2
lea ecx, [esp + 0x30]
push ecx
push edi
call fcn.00423900
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
mov ebx, dword [esp + 0x18]
push eax
push 1
push ebx
push edi
call fcn.00423900
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
mov eax, dword [esp + 0x24]
mov esi, dword [sym.imp.MSVCR90.dll_sprintf]
test eax, eax
jne 0x53b797
mov byte [esp + 0xf4], 0
jmp 0x53b7aa
push eax
lea edx, [esp + 0xf8]
push str._version__s_
push edx
call esi
add esp, 0xc
mov ebp, dword [esp + 0x1c]
test ebp, ebp
jne 0x53b7bc
mov byte [esp + 0x110], 0
jmp 0x53b7cf
push ebp
lea eax, [esp + 0x114]
push str._encoding__s_
push eax
call esi
add esp, 0xc
lea ecx, [esp + 0x110]
push ecx
lea edx, [esp + 0xf8]
push edx
lea eax, [esp + 0x98]
push str.__xml_s_s_standalone_yes____
push eax
call esi
lea eax, [esp + 0xa0]
add esp, 0x10
lea edx, [eax + 1]
jmp 0x53b800
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x53b800
push 0
sub eax, edx
push eax
lea ecx, [esp + 0x98]
push ecx
push edi
call fcn.00423e80
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
lea eax, [esp + 0x90]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x53b831
mov ecx, dword [esp + 0x14]
push ebx
sub eax, edx
add dword [ecx], eax
push 2
lea edx, [esp + 0x30]
push edx
push edi
call fcn.00423900
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
push eax
mov eax, dword [esp + 0x14]
push 1
push eax
push edi
call fcn.00423900
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
mov ecx, dword [esp + 0x34]
sub ecx, dword [esp + 0x60]
test ecx, ecx
jle case.0x53b717.4
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x24]
mov edx, ebx
push edx
mov edx, dword [esp + 0x18]
push eax
push ebp
push ecx
mov ecx, dword [esp + 0x30]
push edi
call fcn.0053b500
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x53c588
jmp case.0x53b717.4
push 0
push 1
lea edx, [esp + 0x5f]
push edx
push edi
call fcn.00423d00
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
xor ebx, ebx
lea ebp, [esp + 0x58]
push 0
push 4
push ebp
push edi
call fcn.00423d00
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
inc ebx
add ebp, 4
cmp ebx, 7
jl 0x53b8d6
mov edx, dword [esp + 0x34]
mov esi, dword [esp + 0x70]
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x5c]
mov ecx, eax
sub ecx, 1
je 0x53b930
sub ecx, 1
je 0x53b938
sub ecx, 4
je 0x53b926
mov ecx, dword [esp + eax*4 + 0x5c]
sub ecx, dword [esp + eax*4 + 0x58]
mov dword [esp + eax*4 + 0x38], ecx
jmp 0x53b938
mov ecx, edx
sub ecx, esi
mov dword [esp + 0x50], ecx
jmp 0x53b938
mov ecx, ebx
sub ecx, ebp
mov dword [esp + 0x3c], ecx
inc eax
cmp eax, 7
jl 0x53b907
mov ebx, dword [sym.imp.MSVCR90.dll_malloc]
xor ebp, ebp
cmp ebp, 4
jge 0x53b97f
mov esi, dword [esp + ebp*4 + 0x38]
test esi, esi
jle 0x53b97f
lea edx, [esi + 1]
push edx
call ebx
add esp, 4
mov dword [esp + ebp*4 + 0x74], eax
test eax, eax
je 0x53bf6e
push 0
push esi
push eax
push edi
call fcn.00423d00
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
inc ebp
cmp ebp, 7
jl 0x53b946
mov eax, dword [esp + 0x10]
push eax
push 2
lea ecx, [esp + 0x30]
push ecx
push edi
call fcn.00423900
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
mov edx, dword [esp + 0x18]
push eax
push 1
push edx
push edi
call fcn.00423900
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
mov eax, 0x3c
mov word [esp + 0x90], ax
lea eax, [esp + 0x90]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x53b9d6
push 0
sub eax, edx
push eax
lea ecx, [esp + 0x98]
push ecx
push edi
call fcn.00423e80
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
lea eax, [esp + 0x90]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x53ba07
mov ebx, dword [esp + 0x78]
mov ecx, dword [esp + 0x14]
sub eax, edx
mov edx, dword [esp + 0x3c]
add dword [ecx], eax
push 0
push edx
push ebx
push edi
call fcn.00423e80
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x3c]
mov eax, dword [esp + 0x14]
add dword [eax], ecx
push edx
push 2
lea eax, [esp + 0x30]
push eax
push edi
call fcn.00423900
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
cmp dword [esp + 0x48], eax
jle 0x53ba93
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x10]
mov eax, dword [esp + 0x1c]
push ecx
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [esp + 0x1c]
push eax
push ecx
mov ecx, dword [esp + 0x30]
push edi
call fcn.0053b500
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x53c588
cmp dword [esp + 0x4c], 0
jle 0x53bac9
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x28]
push eax
push ecx
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x24]
push edi
call fcn.0053b500
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x53c588
mov eax, dword [esp + 0x18]
push 0
push 1
push eax
push edi
call fcn.00423900
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
cmp dword [esp + 0x50], eax
jle 0x53bc8b
mov ecx, 0x3e
lea eax, [esp + 0x90]
mov word [esp + 0x90], cx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x53bb06
sub eax, edx
push 0
push eax
lea edx, [esp + 0x98]
push edx
push edi
call fcn.00423e80
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
lea eax, [esp + 0x90]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x53bb37
mov ecx, dword [esp + 0x14]
sub eax, edx
add dword [ecx], eax
mov eax, dword [esp + 0x18]
push eax
push 2
lea ecx, [esp + 0x30]
push ecx
push edi
call fcn.00423900
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x1c]
push edx
mov edx, dword [esp + 0x28]
push eax
push ecx
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x24]
push edi
call fcn.0053b500
mov esi, eax
add esp, 0x14
test esi, esi
jne 0x53c588
push eax
mov eax, dword [esp + 0x1c]
push 1
push eax
push edi
call fcn.00423900
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
mov dl, byte [0x5b092e]
mov cx, word [0x5b092c]
lea eax, [esp + 0x90]
mov byte [esp + 0x92], dl
mov word [esp + 0x90], cx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x53bbd5
sub eax, edx
push 0
push eax
lea eax, [esp + 0x98]
push eax
push edi
call fcn.00423e80
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
lea eax, [esp + 0x90]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x53bc06
mov ecx, dword [esp + 0x14]
sub eax, edx
add dword [ecx], eax
mov ecx, dword [esp + 0x3c]
push 0
push ecx
push ebx
push edi
call fcn.00423e80
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x14]
add dword [eax], edx
mov eax, 0x3e
mov word [esp + 0x90], ax
lea eax, [esp + 0x90]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x53bc51
push 0
sub eax, edx
push eax
lea ecx, [esp + 0x98]
push ecx
push edi
call fcn.00423e80
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
lea eax, [esp + 0x90]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x53bc82
jmp 0x53bce8
mov al, byte [0x5b164e]
mov dx, word [0x5b164c]
mov byte [esp + 0x92], al
lea eax, [esp + 0x90]
mov word [esp + 0x90], dx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x53bcb0
push 0
sub eax, edx
push eax
lea ecx, [esp + 0x98]
push ecx
push edi
call fcn.00423e80
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
lea eax, [esp + 0x90]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x53bce1
mov ecx, dword [esp + 0x14]
sub eax, edx
mov edx, dword [esp + 0x18]
add dword [ecx], eax
push edx
push 2
lea eax, [esp + 0x30]
push eax
push edi
call fcn.00423900
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
jmp case.0x53b717.4
xor ebx, ebx
lea ebp, [esp + 0x58]
lea ebx, [ebx]
push 0
push 4
push ebp
push edi
call fcn.00423d00
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
inc ebx
add ebp, 4
cmp ebx, 4
jl 0x53bd20
mov ebx, dword [sym.imp.MSVCR90.dll_malloc]
xor ebp, ebp
lea esp, [esp]
mov eax, ebp
sub eax, 0
je 0x53bd7d
sub eax, 1
je 0x53bd89
sub eax, 2
je 0x53bd6f
mov ecx, dword [esp + ebp*4 + 0x5c]
sub ecx, dword [esp + ebp*4 + 0x58]
mov dword [esp + ebp*4 + 0x38], ecx
jmp 0x53bd89
mov eax, dword [esp + 0x34]
sub eax, dword [esp + 0x64]
mov dword [esp + 0x44], eax
jmp 0x53bd89
mov eax, dword [esp + 0x60]
sub eax, dword [esp + 0x58]
mov dword [esp + 0x38], eax
mov esi, dword [esp + ebp*4 + 0x38]
test esi, esi
jle 0x53bdbd
lea edx, [esi + 1]
push edx
call ebx
add esp, 4
mov dword [esp + ebp*4 + 0x74], eax
test eax, eax
je 0x53bf6e
push 0
push esi
push eax
push edi
call fcn.00423d00
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
inc ebp
cmp ebp, 4
jl 0x53bd50
mov eax, dword [esp + 0x10]
push eax
push 2
lea ecx, [esp + 0x30]
push ecx
push edi
call fcn.00423900
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
mov edx, dword [esp + 0x18]
push eax
push 1
push edx
push edi
call fcn.00423900
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
mov eax, 0x20
mov word [esp + 0x90], ax
lea eax, [esp + 0x90]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x53be14
push 0
sub eax, edx
push eax
lea ecx, [esp + 0x98]
push ecx
push edi
call fcn.00423e80
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
lea eax, [esp + 0x90]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x53be45
mov ebx, dword [esp + 0x38]
mov ebp, dword [esp + 0x14]
push 0
sub eax, edx
mov edx, dword [esp + 0x78]
add dword [ebp], eax
push ebx
push edx
push edi
call fcn.00423e80
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
add dword [ebp], ebx
mov ax, word [0x5b1648]
mov cl, byte [0x5b164a]
mov word [esp + 0x90], ax
lea eax, [esp + 0x90]
mov byte [esp + 0x92], cl
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x53bea0
sub eax, edx
push 0
push eax
lea edx, [esp + 0x98]
push edx
push edi
call fcn.00423e80
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
lea eax, [esp + 0x90]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x53bed1
mov ebx, dword [esp + 0x44]
sub eax, edx
add dword [ebp], eax
mov eax, dword [esp + 0x80]
push 0
push ebx
push eax
push edi
call fcn.00423e80
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
add dword [ebp], ebx
mov ecx, 0x22
lea eax, [esp + 0x90]
mov word [esp + 0x90], cx
lea edx, [eax + 1]
lea esp, [esp]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x53bf20
sub eax, edx
push 0
push eax
lea edx, [esp + 0x98]
push edx
push edi
call fcn.00423e80
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
lea eax, [esp + 0x90]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x53bf51
sub eax, edx
add dword [ebp], eax
mov eax, dword [esp + 0x18]
push eax
push 2
lea ecx, [esp + 0x30]
push ecx
jmp 0x53bcfc
mov edi, dword [sym.imp.MSVCR90.dll_free]
xor esi, esi
mov eax, dword [esp + esi*4 + 0x74]
test eax, eax
je 0x53bf84
push eax
call edi
add esp, 4
inc esi
cmp esi, 7
jl 0x53bf76
push 0x203b
push 6
call fcn.00406f10
add esp, 8
jmp 0x53c5e6
xor ebx, ebx
lea ebp, [esp + 0x58]
push 0
push 4
push ebp
push edi
call fcn.00423d00
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
inc ebx
add ebp, 4
cmp ebx, 2
jl 0x53bfa4
mov edx, dword [esp + 0x10]
push edx
push 2
lea eax, [esp + 0x30]
push eax
push edi
call fcn.00423900
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
mov ebx, dword [esp + 0x18]
push eax
push 1
push ebx
push edi
call fcn.00423900
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
mov dx, word [0x5b0a6c]
mov ecx, dword [0x5b0a68]
lea eax, [esp + 0x90]
mov word [esp + 0x94], dx
mov dword [esp + 0x90], ecx
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x53c025
sub eax, edx
push 0
push eax
lea eax, [esp + 0x98]
push eax
push edi
call fcn.00423e80
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
lea eax, [esp + 0x90]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x53c056
mov ebp, dword [esp + 0x14]
push ebx
push 2
lea ecx, [esp + 0x30]
push ecx
sub eax, edx
add dword [ebp], eax
push edi
call fcn.00423900
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
mov edx, dword [esp + 0x10]
push eax
push 1
push edx
push edi
call fcn.00423900
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
mov eax, dword [esp + 0x34]
add eax, 0xfffffff3
mov dword [esp + 0x3c], eax
test eax, eax
jle 0x53c119
cdq
mov ecx, 0x64
idiv ecx
xor ebp, ebp
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
test eax, eax
jle 0x53c0e9
mov eax, dword [esp + 0x10]
push 0x64
lea edx, [esp + 0x94]
push edx
push ebx
call fcn.00539770
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x53c588
inc ebp
cmp ebp, dword [esp + 0x20]
jl 0x53c0c1
mov eax, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x94]
push ecx
push ebx
call fcn.00539770
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x53c588
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x3c]
add dword [eax], edx
mov ebp, eax
push 0
push 1
push ebx
push edi
call fcn.00423900
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
mov eax, dword [str.____]
mov cl, byte [0x5b163c]
mov dword [esp + 0x90], eax
lea eax, [esp + 0x90]
mov byte [esp + 0x94], cl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x53c154
sub eax, edx
push 0
push eax
lea edx, [esp + 0x98]
push edx
push edi
call fcn.00423e80
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
lea eax, [esp + 0x90]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x53c185
sub eax, edx
add dword [ebp], eax
push ebx
jmp 0x53bcf5
xor ebx, ebx
lea ebp, [esp + 0x58]
lea ecx, [ecx]
push 0
push 4
push ebp
push edi
call fcn.00423d00
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
inc ebx
add ebp, 4
cmp ebx, 4
jl 0x53c1a0
mov ecx, dword [esp + 0x10]
push ecx
push 2
lea edx, [esp + 0x30]
push edx
push edi
call fcn.00423900
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
mov ebx, dword [esp + 0x18]
push eax
push 1
push ebx
push edi
call fcn.00423900
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
mov ax, word [0x5b1644]
mov cl, byte [0x5b1646]
mov word [esp + 0x90], ax
lea eax, [esp + 0x90]
mov byte [esp + 0x92], cl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x53c220
sub eax, edx
push 0
push eax
lea edx, [esp + 0x98]
push edx
push edi
call fcn.00423e80
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
lea eax, [esp + 0x90]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x53c251
mov ebp, dword [esp + 0x14]
sub eax, edx
add dword [ebp], eax
push ebx
push 2
lea eax, [esp + 0x30]
push eax
push edi
call fcn.00423900
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
mov ecx, dword [esp + 0x10]
push eax
push 1
push ecx
push edi
call fcn.00423900
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
mov eax, dword [esp + 0x64]
sub eax, dword [esp + 0x60]
mov dword [esp + 0x40], eax
test eax, eax
jle 0x53c31e
cdq
mov ecx, 0x64
idiv ecx
mov dword [esp + 0x24], esi
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
test eax, eax
jle 0x53c2f3
mov eax, dword [esp + 0x10]
push 0x64
lea edx, [esp + 0x94]
push edx
push ebx
call fcn.00539770
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x53c588
mov eax, dword [esp + 0x24]
inc eax
cmp eax, dword [esp + 0x20]
mov dword [esp + 0x24], eax
jl 0x53c2c3
mov eax, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x94]
push ecx
push ebx
call fcn.00539770
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x53c588
mov edx, dword [esp + 0x40]
add dword [ebp], edx
push 0
push 1
push ebx
push edi
call fcn.00423900
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
mov eax, 0x20
mov word [esp + 0x90], ax
lea eax, [esp + 0x90]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x53c350
push 0
sub eax, edx
push eax
lea ecx, [esp + 0x98]
push ecx
push edi
call fcn.00423e80
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
lea eax, [esp + 0x90]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x53c381
push ebx
sub eax, edx
add dword [ebp], eax
push 2
lea edx, [esp + 0x30]
push edx
push edi
call fcn.00423900
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
push eax
mov eax, dword [esp + 0x14]
push 1
push eax
push edi
call fcn.00423900
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
mov eax, dword [esp + 0x34]
sub eax, dword [esp + 0x64]
mov dword [esp + 0x44], eax
test eax, eax
jle 0x53c448
cdq
mov ecx, 0x64
idiv ecx
xor ebp, ebp
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
test eax, eax
jle 0x53c418
lea ecx, [ecx]
mov eax, dword [esp + 0x10]
push 0x64
lea edx, [esp + 0x94]
push edx
push ebx
call fcn.00539770
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x53c588
inc ebp
cmp ebp, dword [esp + 0x20]
jl 0x53c3f0
mov eax, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x14]
lea ecx, [esp + 0x94]
push ecx
push ebx
call fcn.00539770
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x53c588
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x44]
add dword [eax], edx
mov ebp, eax
push 0
push 1
push ebx
push edi
call fcn.00423900
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
mov ax, word [0x5b1640]
mov cl, byte [0x5b1642]
mov word [esp + 0x90], ax
lea eax, [esp + 0x90]
mov byte [esp + 0x92], cl
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x53c485
sub eax, edx
push 0
push eax
lea edx, [esp + 0x98]
push edx
push edi
call fcn.00423e80
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
lea eax, [esp + 0x90]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x53c4b6
sub eax, edx
add dword [ebp], eax
push ebx
jmp 0x53bcf5
xor ebx, ebx
lea ebp, [esp + 0x58]
mov edi, edi
push 0
push 4
push ebp
push edi
call fcn.00423d00
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
inc ebx
add ebp, 4
cmp ebx, 2
jl 0x53c4d0
mov ebp, dword [esp + 0x10]
push ebp
push 2
lea ecx, [esp + 0x30]
push ecx
push edi
call fcn.00423900
mov esi, eax
add esp, 0x10
test esi, esi
jne 0x53c588
mov eax, dword [esp + 0x34]
add eax, 0xfffffff3
mov dword [esp + 0x3c], eax
test eax, eax
jle case.0x53b717.4
cdq
mov ecx, 0x64
idiv ecx
mov ebx, dword [esp + 0x18]
mov dword [esp + 0x24], esi
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
test eax, eax
jle 0x53c56a
nop
push 0x64
lea edx, [esp + 0x94]
push edx
push ebx
mov eax, ebp
call fcn.00539770
mov esi, eax
add esp, 0xc
test esi, esi
jne 0x53c588
mov eax, dword [esp + 0x24]
inc eax
cmp eax, dword [esp + 0x20]
mov dword [esp + 0x24], eax
jl 0x53c540
mov eax, dword [esp + 0x1c]
push eax
lea ecx, [esp + 0x94]
push ecx
push ebx
mov eax, ebp
call fcn.00539770
mov esi, eax
add esp, 0xc
test esi, esi
je 0x53c5b7
mov ebx, dword [sym.imp.MSVCR90.dll_free]
xor edi, edi
mov eax, dword [esp + edi*4 + 0x74]
test eax, eax
je 0x53c59e
push eax
call ebx
add esp, 4
inc edi
cmp edi, 7
jl 0x53c590
push 0x203b
push 0
call fcn.00406f10
add esp, 8
mov eax, esi
jmp 0x53c5e6
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x3c]
add dword [eax], edx
mov edi, dword [sym.imp.MSVCR90.dll_free]
xor esi, esi
lea esp, [esp]
mov eax, dword [esp + esi*4 + 0x74]
test eax, eax
je 0x53c5de
push eax
call edi
add esp, 4
inc esi
cmp esi, 7
jl 0x53c5d0
xor eax, eax
mov ecx, dword [esp + 0x12c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
call fcn.00586584
add esp, 0x120
ret