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

Disassembly:
sub esp, 0xd4
push ebx
push ebp
push esi
mov esi, dword [esp + 0xe8]
push edi
mov edi, dword [esp + 0xf0]
mov eax, dword [esi]
xor ebx, ebx
cmp eax, 1
mov ebp, edi
mov dword [esp + 0x60], ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x74], ebx
jle 0x451e45
push str.Tcl_AppendFormatToObj
push str._s_called_with_shared_object
call fcn.0047c670
add esp, 8
mov eax, dword [esi + 4]
test eax, eax
je 0x451e58
mov eax, dword [esi + 8]
mov dword [esp + 0x94], eax
jmp 0x451e69
lea ecx, [esp + 0x94]
push ecx
push esi
call fcn.0044c880
add esp, 8
cmp byte [edi], 0
je 0x452ccd
lea edx, [esp + 0x10]
mov dword [esp + 0x54], 0
push edx
push edi
call fcn.0047cc90
add esp, 8
add edi, eax
cmp word [esp + 0x10], 0x25
je 0x451e9d
add ebx, eax
mov dword [esp + 0x60], ebx
jmp 0x452cb5
test ebx, ebx
je 0x451eb4
push ebx
push ebp
push esi
call fcn.00451830
add esp, 0xc
mov dword [esp + 0x60], 0
lea eax, [esp + 0x10]
push eax
push edi
call fcn.0047cc90
mov ecx, dword [esp + 0x18]
add esp, 8
cmp cx, 0x25
mov esi, eax
jne 0x451edd
mov ebx, esi
mov ebp, edi
mov dword [esp + 0x60], ebx
add edi, esi
jmp 0x452cae
mov edx, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [edx], 1
jle 0x451f00
and ecx, 0xff
push 4
push ecx
call dword [sym.imp.MSVCRT.dll__isctype]
mov ecx, dword [esp + 0x18]
add esp, 8
jmp 0x451f15
mov edx, dword [sym.imp.MSVCRT.dll__pctype]
mov eax, ecx
and eax, 0xff
mov edx, dword [edx]
mov al, byte [edx + eax*2]
and eax, 4
xor ebp, ebp
cmp eax, ebp
je 0x451f6d
lea eax, [esp + 0x4c]
push 0xa
push eax
push edi
call dword [sym.imp.MSVCRT.dll_strtoul]
mov ecx, dword [esp + 0x58]
add esp, 0xc
cmp byte [ecx], 0x24
jne 0x451f69
lea edi, [ecx + 1]
lea ecx, [esp + 0x10]
lea ebx, [eax - 1]
push ecx
push edi
mov dword [esp + 0x44], ebx
call fcn.0047cc90
mov esi, eax
mov eax, dword [esp + 0x7c]
add esp, 8
cmp eax, ebp
jne 0x452cda
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x50], 1
jmp 0x451f83
mov ecx, dword [esp + 0x10]
cmp dword [esp + 0x50], ebp
jne 0x452cda
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x74], 1
cmp ebx, ebp
jl 0x452d59
cmp ebx, dword [esp + 0xf4]
jge 0x452d59
mov dword [esp + 0x30], ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x28], ebp
mov dword [esp + 0x5c], ebp
mov edx, ecx
and edx, 0xffff
lea eax, [edx - 0x20]
cmp eax, 0x10
ja case.default.0x451fc4
xor edx, edx
mov dl, byte [eax + 0x452dc4]
jmp dword [edx*4 + 0x452dac]
mov dword [esp + 0x5c], 1
jmp 0x451ffb
mov dword [esp + 0x28], 1
jmp 0x451ffb
mov dword [esp + 0x2c], 1
jmp 0x451ffb
mov dword [esp + 0x20], 1
jmp 0x451ffb
mov dword [esp + 0x30], 1
lea eax, [esp + 0x10]
add edi, esi
push eax
push edi
call fcn.0047cc90
mov ecx, dword [esp + 0x18]
add esp, 8
mov esi, eax
xor ebp, ebp
jmp 0x451fac
xor ebp, ebp
mov edx, dword [sym.imp.MSVCRT.dll___mb_cur_max]
mov dword [esp + 0x18], ebp
cmp dword [edx], 1
jle 0x45203e
and ecx, 0xff
push 4
push ecx
call dword [sym.imp.MSVCRT.dll__isctype]
mov ecx, dword [esp + 0x18]
add esp, 8
jmp 0x452053
mov edx, dword [sym.imp.MSVCRT.dll__pctype]
mov eax, ecx
and eax, 0xff
mov edx, dword [edx]
mov al, byte [edx + eax*2]
and eax, 4
cmp eax, ebp
je 0x45207d
lea eax, [esp + 0x4c]
push 0xa
push eax
push edi
call dword [sym.imp.MSVCRT.dll_strtoul]
mov edi, dword [esp + 0x58]
lea ecx, [esp + 0x1c]
push ecx
push edi
mov dword [esp + 0x2c], eax
call fcn.0047cc90
add esp, 0x14
jmp 0x4520f8
cmp cx, 0x2a
jne 0x4520fe
mov edx, dword [esp + 0xf4]
dec edx
cmp ebx, edx
jge 0x452ce4
mov eax, dword [esp + 0xf8]
mov eax, dword [eax + ebx*4]
cmp dword [eax + 0xc], 0x52b498
jne 0x4520af
mov eax, dword [eax + 0x10]
mov dword [esp + 0x18], eax
jmp 0x4520d1
mov edx, dword [esp + 0xe8]
lea ecx, [esp + 0x18]
push ecx
push eax
push edx
call fcn.0044d1f0
add esp, 0xc
test eax, eax
jne 0x452d81
mov eax, dword [esp + 0x18]
cmp eax, ebp
jge 0x4520e3
neg eax
mov dword [esp + 0x18], eax
mov dword [esp + 0x5c], 1
lea eax, [esp + 0x10]
add edi, esi
inc ebx
push eax
push edi
mov dword [esp + 0x44], ebx
call fcn.0047cc90
add esp, 8
mov ecx, dword [esp + 0x10]
mov esi, eax
xor ebp, ebp
cmp cx, 0x2e
mov dword [esp + 0x14], ebp
mov dword [esp + 0x58], ebp
jne 0x45212d
lea ecx, [esp + 0x10]
add edi, esi
mov ebp, 1
push ecx
push edi
mov dword [esp + 0x60], ebp
call fcn.0047cc90
mov ecx, dword [esp + 0x18]
add esp, 8
mov esi, eax
mov edx, dword [sym.imp.MSVCRT.dll___mb_cur_max]
cmp dword [edx], 1
jle 0x452150
and ecx, 0xff
push 4
push ecx
call dword [sym.imp.MSVCRT.dll__isctype]
mov ecx, dword [esp + 0x18]
add esp, 8
jmp 0x452165
mov edx, dword [sym.imp.MSVCRT.dll__pctype]
mov eax, ecx
and eax, 0xff
mov edx, dword [edx]
mov al, byte [edx + eax*2]
and eax, 4
test eax, eax
je 0x45218f
lea eax, [esp + 0x4c]
push 0xa
push eax
push edi
call dword [sym.imp.MSVCRT.dll_strtoul]
mov edi, dword [esp + 0x58]
lea ecx, [esp + 0x1c]
push ecx
push edi
mov dword [esp + 0x28], eax
call fcn.0047cc90
add esp, 0x14
jmp 0x452204
cmp cx, 0x2a
jne 0x45220a
mov edx, dword [esp + 0xf4]
dec edx
cmp ebx, edx
jge 0x452cf1
mov eax, dword [esp + 0xf8]
mov eax, dword [eax + ebx*4]
cmp dword [eax + 0xc], 0x52b498
jne 0x4521c1
mov ecx, dword [eax + 0x10]
mov dword [esp + 0x14], ecx
jmp 0x4521df
lea edx, [esp + 0x14]
push edx
push eax
mov eax, dword [esp + 0xf0]
push eax
call fcn.0044d1f0
add esp, 0xc
test eax, eax
jne 0x452d81
mov eax, dword [esp + 0x14]
test eax, eax
jge 0x4521ef
mov dword [esp + 0x14], 0
lea ecx, [esp + 0x10]
add edi, esi
inc ebx
push ecx
push edi
mov dword [esp + 0x44], ebx
call fcn.0047cc90
add esp, 8
mov ecx, dword [esp + 0x10]
mov esi, eax
xor ebx, ebx
cmp cx, 0x68
mov dword [esp + 0x44], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], ebx
jne 0x45223e
lea edx, [esp + 0x10]
add edi, esi
push edx
push edi
mov dword [esp + 0x40], 1
call fcn.0047cc90
mov ecx, dword [esp + 0x18]
add esp, 8
mov esi, eax
jmp 0x452289
cmp cx, 0x6c
jne 0x452289
lea eax, [esp + 0x10]
add edi, esi
push eax
push edi
call fcn.0047cc90
mov ecx, dword [esp + 0x18]
add esp, 8
cmp cx, 0x6c
mov esi, eax
jne 0x452281
lea ecx, [esp + 0x10]
add edi, esi
mov ebx, 1
push ecx
push edi
mov dword [esp + 0x4c], ebx
call fcn.0047cc90
mov ecx, dword [esp + 0x18]
add esp, 8
mov esi, eax
jmp 0x452289
mov dword [esp + 0x34], 1
mov edx, dword [esp + 0xf8]
mov eax, dword [esp + 0x3c]
add edi, esi
cmp cx, 0x69
mov dword [esp + 0xf0], edi
mov dword [esp + 0x9c], edi
mov edi, dword [edx + eax*4]
jne 0x4522b6
mov ecx, 0x64
mov dword [esp + 0x10], ecx
mov eax, ecx
and eax, 0xffff
cmp eax, 0x78
ja case.0x4522ce.6
xor edx, edx
mov dl, byte [eax + 0x452df4]
jmp dword [edx*4 + 0x452dd8]
push edi
call fcn.004511b0
add esp, 4
test ebp, ebp
je case.0x452652.90
mov ecx, dword [esp + 0x14]
cmp ecx, eax
jge case.0x452652.90
dec ecx
push ecx
push 0
push edi
call fcn.00451300
mov edi, eax
add esp, 0xc
mov dword [esp + 0x54], 1
inc dword [edi]
jmp case.0x452652.90
cmp dword [edi + 0xc], 0x52b498
jne 0x452325
mov eax, dword [edi + 0x10]
mov dword [esp + 0x90], eax
jmp 0x452346
mov edx, dword [esp + 0xe8]
lea ecx, [esp + 0x90]
push ecx
push edi
push edx
call fcn.0044d1f0
add esp, 0xc
test eax, eax
jne 0x452d81
mov ecx, dword [esp + 0x90]
lea eax, [esp + 0x98]
push eax
push ecx
call fcn.0047cb90
lea edx, [esp + 0xa0]
push eax
push edx
call fcn.00450ff0
mov edi, eax
add esp, 0x10
mov dword [esp + 0x54], 1
inc dword [edi]
jmp case.0x452652.90
test ebx, ebx
jne 0x452d09
xor ebp, ebp
test ebx, ebx
mov dword [esp + 0x20], ebp
je 0x4523ce
mov ecx, dword [esp + 0xe8]
lea eax, [esp + 0x80]
push eax
push edi
push ecx
call fcn.0044dd30
add esp, 0xc
test eax, eax
jne 0x452d81
lea edx, [esp + 0x80]
push eax
push edx
call fcn.004c0780
add esp, 8
xor ecx, ecx
cmp eax, 0xffffffff
sete cl
jmp 0x45259f
mov eax, dword [esp + 0x34]
test eax, eax
je 0x452481
lea edx, [esp + 0x6c]
push edx
push edi
push 0
call fcn.0044d7d0
add esp, 0xc
test eax, eax
je 0x45245e
mov ecx, dword [esp + 0xe8]
lea eax, [esp + 0x80]
push eax
push edi
push ecx
call fcn.0044dd30
add esp, 0xc
test eax, eax
jne 0x452d81
lea edx, [esp + 0x80]
lea eax, [esp + 0x80]
push edx
push 0x40
push eax
call fcn.004c07b0
lea ecx, [esp + 0x8c]
push ecx
call fcn.0044dcb0
mov esi, eax
mov edx, dword [esi]
inc edx
mov dword [esi], edx
lea edx, [esp + 0x7c]
push edx
push esi
push 0
call fcn.0044d7d0
mov ecx, dword [esi]
add esp, 0x1c
dec ecx
mov eax, ecx
mov dword [esi], ecx
test eax, eax
jg 0x45245e
push esi
call fcn.0044c610
add esp, 4
mov eax, dword [esp + 0x70]
test eax, eax
jg 0x45247a
jl 0x452470
mov eax, dword [esp + 0x6c]
test eax, eax
jae 0x45247a
mov esi, 1
jmp 0x4525a1
xor esi, esi
jmp 0x4525a1
cmp dword [edi + 0xc], 0x52b498
jne 0x452496
mov edi, dword [edi + 0x10]
mov dword [esp + 0x24], edi
jmp 0x45257e
lea eax, [esp + 0x24]
push eax
push edi
push 0
call fcn.0044d3a0
add esp, 0xc
test eax, eax
je 0x45257a
lea ecx, [esp + 0x6c]
push ecx
push edi
push 0
call fcn.0044d7d0
add esp, 0xc
test eax, eax
je 0x452565
mov eax, dword [esp + 0xe8]
lea edx, [esp + 0x80]
push edx
push edi
push eax
call fcn.0044dd30
add esp, 0xc
test eax, eax
jne 0x452d81
lea ecx, [esp + 0x80]
lea edx, [esp + 0x80]
push ecx
push 0x20
push edx
call fcn.004c07b0
lea eax, [esp + 0x8c]
push eax
call fcn.0044dcb0
mov esi, eax
add esp, 0x10
mov ecx, dword [esi]
mov eax, dword [esi + 0xc]
inc ecx
cmp eax, 0x52b498
mov dword [esi], ecx
jne 0x452528
mov ecx, dword [esi + 0x10]
mov dword [esp + 0x24], ecx
jmp 0x452538
lea edx, [esp + 0x24]
push edx
push esi
push 0
call fcn.0044d3a0
add esp, 0xc
mov ecx, dword [esi]
dec ecx
mov eax, ecx
mov dword [esi], ecx
test eax, eax
jg 0x45254c
push esi
call fcn.0044c610
add esp, 4
mov eax, dword [esp + 0x24]
mov ecx, dword [esp + 0x38]
test ecx, ecx
je 0x45256f
mov ebp, eax
xor ecx, ecx
mov dword [esp + 0x20], ebp
test ax, ax
jmp 0x45259c
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x24], eax
jmp 0x452550
xor edx, edx
test eax, eax
setl dl
mov esi, edx
jmp 0x4525a1
mov edi, dword [esp + 0x24]
mov eax, dword [esp + 0x38]
test eax, eax
je 0x452598
xor eax, eax
mov ebp, edi
test di, di
setl al
mov dword [esp + 0x20], ebp
mov esi, eax
jmp 0x4525a1
xor ecx, ecx
test edi, edi
setl cl
mov esi, ecx
call fcn.0044c570
mov edi, eax
mov dword [esp + 0x54], 1
mov ecx, dword [edi]
inc ecx
test esi, esi
mov dword [edi], ecx
jne 0x4525c1
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4525e7
test ebx, ebx
jne 0x4525cd
cmp word [esp + 0x10], 0x64
jne 0x4525e7
test esi, esi
mov eax, 0x5299f4
jne 0x4525db
mov eax, 0x524e7c
push 1
push eax
push edi
call fcn.00451830
add esp, 0xc
mov eax, dword [esp + 0x28]
test eax, eax
je 0x452634
mov eax, dword [esp + 0x10]
and eax, 0xffff
cmp eax, 0x58
je 0x452624
cmp eax, 0x6f
je 0x452609
cmp eax, 0x78
je 0x452624
jmp 0x452634
push 1
push 0x5244a8
push edi
call fcn.00451830
mov eax, dword [esp + 0x20]
add esp, 0xc
dec eax
mov dword [esp + 0x14], eax
jmp 0x452634
push 2
push 0x52bc2c
push edi
call fcn.00451830
add esp, 0xc
mov edx, dword [esp + 0x10]
and edx, 0xffff
lea eax, [edx - 0x58]
cmp eax, 0x20
ja case.0x452652.90
xor ecx, ecx
mov cl, byte [eax + 0x452e7c]
jmp dword [ecx*4 + 0x452e70]
mov eax, dword [esp + 0x38]
test eax, eax
je 0x45266c
movsx edx, bp
push edx
call fcn.0044d110
jmp 0x4526a9
mov eax, dword [esp + 0x34]
test eax, eax
je 0x452688
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
push eax
push ecx
call fcn.0044d670
add esp, 8
jmp 0x4526ac
mov eax, dword [esp + 0x44]
test eax, eax
je 0x45269f
lea edx, [esp + 0x80]
push edx
call fcn.0044dcb0
jmp 0x4526a9
mov eax, dword [esp + 0x24]
push eax
call fcn.0044d2b0
add esp, 4
mov esi, eax
mov ecx, dword [esi]
mov eax, dword [esi + 4]
inc ecx
test eax, eax
mov dword [esi], ecx
je 0x4526c6
mov ecx, dword [esi + 8]
mov dword [esp + 0x1c], ecx
mov ebx, dword [esi + 4]
jmp 0x4526d6
lea edx, [esp + 0x1c]
push edx
push esi
call fcn.0044c880
add esp, 8
mov ebx, eax
cmp byte [ebx], 0x2d
jne 0x4526e5
mov ecx, dword [esp + 0x1c]
dec ecx
inc ebx
mov dword [esp + 0x1c], ecx
mov eax, dword [esp + 0x58]
test eax, eax
je 0x452724
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x14]
cmp eax, ecx
jge 0x45271a
push 1
push 0x5244a8
push edi
call fcn.00451830
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x20]
add esp, 0xc
inc eax
cmp eax, ecx
mov dword [esp + 0x1c], eax
jl 0x4526f9
mov dword [esp + 0x2c], 0
jmp 0x452768
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x452768
push edi
call fcn.004511b0
mov ecx, dword [esp + 0x20]
add esp, 4
add ecx, eax
mov eax, dword [esp + 0x18]
cmp ecx, eax
mov dword [esp + 0x1c], ecx
jge 0x452768
push 1
push 0x5244a8
push edi
call fcn.00451830
mov eax, dword [esp + 0x28]
mov ecx, dword [esp + 0x24]
add esp, 0xc
inc eax
cmp eax, ecx
mov dword [esp + 0x1c], eax
jl 0x452747
push 0xffffffffffffffff
push ebx
push edi
call fcn.00451830
mov ecx, dword [esi]
add esp, 0xc
dec ecx
mov eax, ecx
mov dword [esi], ecx
test eax, eax
jg case.0x452652.90
push esi
call fcn.0044c610
add esp, 4
jmp case.0x452652.90
mov eax, dword [esp + 0x10]
xor ebp, ebp
xor esi, esi
mov ebx, 0x10
cmp ax, 0x75
mov dword [esp + 0x64], ebp
mov dword [esp + 0x68], ebp
mov dword [esp + 0x48], 4
mov dword [esp + 0x30], ebx
mov dword [esp + 0x40], ebp
jne 0x4527c7
mov ebx, 0xa
mov dword [esp + 0x30], ebx
jmp 0x4527de
cmp ax, 0x6f
jne 0x4527de
mov ebx, 8
mov dword [esp + 0x48], 3
mov dword [esp + 0x30], ebx
cmp dword [esp + 0x38], ebp
je 0x452818
mov eax, dword [esp + 0x20]
mov ecx, eax
and eax, 0xffff
cdq
cmp cx, bp
mov dword [esp + 0x64], eax
mov dword [esp + 0x68], edx
je 0x4528d4
mov eax, ecx
inc esi
and eax, 0xffff
cdq
idiv ebx
mov ecx, eax
cmp cx, bp
jne 0x452801
jmp 0x4528d0
cmp dword [esp + 0x34], ebp
je 0x452859
mov eax, dword [esp + 0x6c]
mov ebp, dword [esp + 0x70]
mov ecx, eax
mov dword [esp + 0x64], eax
or eax, ebp
mov dword [esp + 0x68], ebp
je 0x4528d4
mov eax, ebx
cdq
mov ebx, eax
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x7c]
inc esi
push edx
push ebx
push ebp
push ecx
call fcn.004e4120
mov ebp, edx
mov ecx, eax
or eax, ebp
jne 0x452841
jmp 0x4528d0
cmp dword [esp + 0x44], ebp
je 0x4528af
mov ebx, dword [esp + 0x80]
test ebx, ebx
je 0x4528d4
lea esi, [ebx*8]
mov ecx, 0x1c
sub esi, ebx
or ebp, 0xffffffff
shl esi, 2
mov eax, esi
cdq
idiv dword [esp + 0x48]
mov eax, esi
sub ecx, edx
cdq
idiv dword [esp + 0x48]
shl ebp, cl
mov ecx, dword [esp + 0x8c]
mov ebx, dword [ecx + ebx*4 - 4]
mov esi, eax
inc esi
test ebx, ebp
jne 0x4528d0
mov ecx, dword [esp + 0x48]
shr ebp, cl
dec esi
test ebx, ebp
je 0x4528a6
jmp 0x4528d0
mov eax, dword [esp + 0x24]
mov dword [esp + 0x68], ebp
cmp eax, ebp
mov dword [esp + 0x64], eax
je 0x4528d4
jmp 0x4528c7
mov ebx, dword [esp + 0x30]
xor ebp, ebp
xor edx, edx
inc esi
div ebx
cmp eax, ebp
jne 0x4528c1
test esi, esi
jne 0x4528e9
cmp word [esp + 0x10], 0x6f
jne 0x4528e4
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x4528e9
mov esi, 1
call fcn.0044c570
mov ebp, eax
push esi
push ebp
mov dword [esp + 0x40], ebp
call fcn.00451430
mov eax, dword [ebp + 4]
add esp, 8
test eax, eax
jne 0x45290e
push ebp
call fcn.0044c840
add esp, 4
mov ebx, esi
mov edx, esi
dec esi
mov dword [esp + 0x34], eax
test edx, edx
mov dword [esp + 0x20], ebx
je 0x4529ed
mov eax, dword [esp + 0x30]
mov ebx, dword [esp + 0x64]
mov ebp, dword [esp + 0x68]
mov dword [esp + 0x28], 0
cdq
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
mov eax, dword [esp + 0x44]
test eax, eax
je 0x45299b
mov eax, dword [esp + 0x80]
test eax, eax
je 0x45299b
mov eax, dword [esp + 0x40]
cmp eax, 0x24
jae 0x45298d
mov edx, dword [esp + 0x28]
mov ecx, eax
mov eax, dword [esp + 0x8c]
mov eax, dword [edx + eax]
xor edx, edx
call fcn.004e3ed0
mov ecx, dword [esp + 0x28]
or ebx, eax
mov eax, dword [esp + 0x40]
or ebp, edx
add ecx, 4
add eax, 0x1c
mov dword [esp + 0x28], ecx
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x48]
mov ecx, dword [esp + 0x40]
sub ecx, eax
mov dword [esp + 0x40], ecx
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
push ecx
push edx
push ebp
push ebx
call fcn.004e40a0
cmp eax, 9
jle 0x4529bc
mov ecx, dword [esp + 0x34]
add al, 0x57
mov byte [ecx + esi], al
jmp 0x4529c5
mov edx, dword [esp + 0x34]
add al, 0x30
mov byte [edx + esi], al
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
push eax
push ecx
push ebp
push ebx
call fcn.004e4120
mov ebp, edx
mov edx, esi
dec esi
mov ebx, eax
test edx, edx
jne 0x452940
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x38]
mov eax, dword [esp + 0x44]
test eax, eax
je 0x452a05
lea eax, [esp + 0x80]
push eax
call fcn.004c03f0
add esp, 4
mov eax, dword [esp + 0x58]
test eax, eax
je 0x452a36
cmp ebx, dword [esp + 0x14]
jge 0x452a2c
push 1
push 0x5244a8
push edi
call fcn.00451830
mov eax, dword [esp + 0x20]
add esp, 0xc
inc ebx
cmp ebx, eax
jl 0x452a13
mov dword [esp + 0x2c], 0
jmp 0x452a6a
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x452a6a
push edi
call fcn.004511b0
add ebx, eax
mov eax, dword [esp + 0x1c]
add esp, 4
cmp ebx, eax
jge 0x452a6a
push 1
push 0x5244a8
push edi
call fcn.00451830
mov eax, dword [esp + 0x24]
add esp, 0xc
inc ebx
cmp ebx, eax
jl 0x452a51
push ebp
push edi
call fcn.004518b0
mov ecx, dword [ebp]
add esp, 8
dec ecx
mov eax, ecx
mov dword [ebp], ecx
test eax, eax
jg case.0x452652.90
push ebp
call fcn.0044c610
add esp, 4
jmp case.0x452652.90
mov edx, dword [esp + 0xe8]
lea ecx, [esp + 0xa0]
push ecx
push edi
push edx
mov ebx, 0x140
call fcn.0044cf50
add esp, 0xc
test eax, eax
jne 0x452d81
mov eax, dword [esp + 0x5c]
mov byte [esp + 0xa8], 0x25
test eax, eax
lea esi, [esp + 0xa9]
je 0x452adf
mov byte [esp + 0xa9], 0x2d
lea esi, [esp + 0xaa]
mov eax, dword [esp + 0x28]
test eax, eax
je 0x452aeb
mov byte [esi], 0x23
inc esi
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x452af7
mov byte [esi], 0x30
inc esi
mov eax, dword [esp + 0x20]
test eax, eax
je 0x452b03
mov byte [esi], 0x20
inc esi
mov eax, dword [esp + 0x30]
test eax, eax
je 0x452b0f
mov byte [esi], 0x2b
inc esi
mov eax, dword [esp + 0x18]
test eax, eax
je 0x452b2d
mov ebp, dword [sym.imp.MSVCRT.dll_sprintf]
push eax
push 0x525ff8
push esi
call ebp
add esp, 0xc
add esi, eax
jmp 0x452b33
mov ebp, dword [sym.imp.MSVCRT.dll_sprintf]
mov eax, dword [esp + 0x58]
test eax, eax
je 0x452b5b
mov byte [esi], 0x2e
mov eax, dword [esp + 0x14]
inc esi
push eax
push 0x525ff8
push esi
call ebp
mov ecx, dword [esp + 0x20]
add esp, 0xc
add esi, eax
lea ebx, [ecx + 0x140]
mov dl, byte [esp + 0x10]
mov byte [esi], dl
mov byte [esi + 1], 0
call fcn.0044c570
mov edi, eax
push ebx
push edi
mov dword [esp + 0x5c], 1
call fcn.00451430
mov eax, dword [edi + 4]
add esp, 8
test eax, eax
jne 0x452b8e
push edi
call fcn.0044c840
add esp, 4
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0xa0]
push ecx
lea ecx, [esp + 0xac]
push edx
push ecx
push eax
call ebp
push eax
push edi
call fcn.00451430
add esp, 0x18
mov eax, dword [esp + 0x10]
and eax, 0xffff
sub eax, 0x45
je 0x452bcb
sub eax, 2
je 0x452bcb
sub eax, 0x11
jne 0x452beb
mov eax, dword [edi + 4]
test eax, eax
jne 0x452bdb
push edi
call fcn.0044c840
add esp, 4
push eax
call fcn.0047d0a0
push eax
push edi
call fcn.00451430
add esp, 0xc
push edi
call fcn.004511b0
mov esi, eax
mov eax, dword [esp + 0x60]
add esp, 4
test eax, eax
jne 0x452c34
cmp esi, dword [esp + 0x18]
jge 0x452c34
mov ebx, dword [esp + 0xec]
mov ebp, dword [esp + 0x2c]
test ebp, ebp
mov eax, 0x5244a8
jne 0x452c1d
mov eax, 0x529b8c
push 1
push eax
push ebx
call fcn.00451830
mov eax, dword [esp + 0x24]
add esp, 0xc
inc esi
cmp esi, eax
jl 0x452c0f
jmp 0x452c3f
mov ebx, dword [esp + 0xec]
mov ebp, dword [esp + 0x2c]
push edi
push ebx
call fcn.004518b0
mov eax, dword [esp + 0x5c]
add esp, 8
test eax, eax
je 0x452c65
mov ecx, dword [edi]
dec ecx
mov eax, ecx
mov dword [edi], ecx
test eax, eax
jg 0x452c65
push edi
call fcn.0044c610
add esp, 4
cmp esi, dword [esp + 0x18]
jge 0x452c8e
test ebp, ebp
mov eax, 0x5244a8
jne 0x452c79
mov eax, 0x529b8c
push 1
push eax
push ebx
call fcn.00451830
mov eax, dword [esp + 0x24]
add esp, 0xc
inc esi
cmp esi, eax
jl 0x452c6b
mov edx, dword [esp + 0x74]
mov eax, dword [esp + 0x3c]
mov edi, dword [esp + 0xf0]
mov ebp, dword [esp + 0x9c]
mov ebx, dword [esp + 0x60]
add eax, edx
mov dword [esp + 0x3c], eax
mov esi, dword [esp + 0xec]
cmp byte [edi], 0
jne 0x451e72
test ebx, ebx
je 0x452ccd
push ebx
push ebp
push esi
call fcn.00451830
add esp, 0xc
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xd4
ret
mov eax, dword [str.cannot_mix_____and___n___conversion_specifiers]
jmp 0x452d64
mov eax, dword [esp + 0x50]
mov eax, dword [eax*4 + 0x52ba98]
jmp 0x452d64
mov ecx, dword [esp + 0x50]
xor ebp, ebp
mov eax, dword [ecx*4 + 0x52ba98]
jmp 0x452d64
mov eax, str.format_string_ended_in_middle_of_field_specifier
xor ebp, ebp
jmp 0x452d64
mov eax, str.unsigned_bignum_format_is_invalid
xor ebp, ebp
jmp 0x452d64
mov eax, dword [esp + 0xe8]
test eax, eax
je 0x452d81
and ecx, 0xffff
lea edx, [esp + 0xa8]
push ecx
push str.bad_field_specifier___c_
push edx
call dword [sym.imp.MSVCRT.dll_sprintf]
lea eax, [esp + 0xb4]
push 0xffffffffffffffff
push eax
call fcn.00450ff0
mov ecx, dword [esp + 0xfc]
push eax
push ecx
call fcn.0044ed70
add esp, 0x1c
jmp 0x452d81
mov edx, dword [esp + 0x50]
mov eax, dword [edx*4 + 0x52ba98]
mov esi, dword [esp + 0xe8]
cmp esi, ebp
je 0x452d81
push 0xffffffffffffffff
push eax
call fcn.00450ff0
push eax
push esi
call fcn.0044ed70
add esp, 0x10
mov eax, dword [esp + 0x94]
mov ecx, dword [esp + 0xec]
push eax
push ecx
call fcn.00451430
add esp, 8
mov eax, 1
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xd4
ret