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

Disassembly:
sub esp, 0xa4
push ebx
push ebp
mov ebp, dword [esp + 0xc0]
push esi
push edi
mov edi, dword [esp + 0xcc]
xor ebx, ebx
push 0x40
mov esi, edx
mov dword [esp + 0x70], eax
mov dword [esp + 0x6c], eax
lea edx, [esp + 0x78]
add eax, ecx
push ebx
push edx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x58], ebx
mov dword [esp + 0x7c], eax
call sub.MSVCR90.dll_memset
fld qword [esp + 0xc4]
fstp qword [esp + 0x50]
mov eax, dword [esp + 0x54]
add esp, 0xc
test eax, eax
jns 0x421cc6
and eax, 0x7fffffff
mov dword [esi], 1
mov dword [esp + 0x48], eax
jmp 0x421cc8
mov dword [esi], ebx
and eax, 0x7ff00000
cmp eax, 0x7ff00000
jne 0x421cdd
mov dword [ebp], 0x270f
jmp 0x421cf1
fldz
fcomp qword [esp + 0x44]
fnstsw ax
test ah, 0x44
jp 0x421d1c
mov dword [ebp], 1
lea edx, [esp + 0x68]
mov esi, 2
call fcn.00420570
lea ecx, [eax + 1]
mov byte [eax], 0x30
mov byte [ecx], bl
test edi, edi
je 0x422109
mov dword [edi], ecx
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa4
ret
lea eax, [esp + 0x5c]
push eax
lea ecx, [esp + 0x5c]
push ecx
lea edx, [esp + 0x4c]
push edx
lea edx, [esp + 0x74]
call fcn.00420d50
fld qword [esp + 0x50]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x54]
mov esi, eax
shr esi, 0x14
add esp, 0xc
and esi, 0x7ff
je 0x421d74
fst qword [esp + 0x50]
sub esi, 0x3ff
mov eax, dword [esp + 0x54]
and eax, 0xfffff
or eax, 0x3ff00000
xor edi, edi
mov dword [esp + 0x54], eax
mov dword [esp + 0x64], edi
jmp 0x421dd9
mov ecx, dword [esp + 0x58]
mov edx, dword [esp + 0x5c]
lea esi, [ecx + edx + 0x432]
cmp esi, 0x20
jle 0x421d9e
mov edx, dword [esp + 0x44]
mov ecx, 0x40
sub ecx, esi
shl eax, cl
lea ecx, [esi - 0x20]
shr edx, cl
or eax, edx
jmp 0x421dab
mov eax, dword [esp + 0x44]
mov ecx, 0x20
sub ecx, esi
shl eax, cl
mov dword [esp + 0x50], eax
fild dword [esp + 0x50]
test eax, eax
jge 0x421dbd
fadd qword [0x487090]
fstp qword [esp + 0x50]
sub esi, 0x433
sub dword [esp + 0x54], 0x1f00000
mov dword [esp + 0x64], 1
xor edi, edi
fld qword [esp + 0x50]
mov dword [esp + 0x14], esi
fsub qword [0x48a230]
fmul qword [0x48a228]
fadd qword [0x48a220]
fild dword [esp + 0x14]
fmul qword [0x48a218]
faddp st(1)
fld st(0)
call fcn.00467320
fldz
fcomp st(1)
mov ebp, eax
mov dword [esp + 0x1c], ebp
fnstsw ax
test ah, 0x41
jne 0x421e2b
fild dword [esp + 0x1c]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x421e2d
dec ebp
mov dword [esp + 0x1c], ebp
jmp 0x421e2d
fstp st(0)
mov dword [esp + 0x60], 1
cmp ebp, 0x16
ja 0x421e53
fcomp qword [ebp*8 + 0x48a0b8]
fnstsw ax
test ah, 5
jp 0x421e4d
dec ebp
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x60], edi
jmp 0x421e55
fstp st(0)
mov eax, dword [esp + 0x5c]
sub eax, esi
sub eax, 1
js 0x421e66
mov dword [esp + 0x14], edi
jmp 0x421e6e
neg eax
mov dword [esp + 0x14], eax
xor eax, eax
cmp ebp, edi
mov dword [esp + 0x40], eax
jl 0x421e86
add eax, ebp
mov dword [esp + 0x50], edi
mov dword [esp + 0x2c], ebp
mov dword [esp + 0x40], eax
jmp 0x421e96
sub dword [esp + 0x14], ebp
mov eax, ebp
neg eax
mov dword [esp + 0x50], eax
mov dword [esp + 0x2c], edi
mov eax, dword [esp + 0xc0]
cmp eax, edi
jl 0x421ea6
cmp eax, 9
jle 0x421eaf
xor eax, eax
mov dword [esp + 0xc0], eax
xor ecx, ecx
cmp eax, 5
mov edi, 1
jle 0x421ec7
sub eax, 4
mov dword [esp + 0xc0], eax
xor edi, edi
mov dword [esp + 0x38], 1
cmp eax, 5
ja case.default.0x421ed4
jmp dword [eax*4 + 0x422948]
or ebx, 0xffffffff
mov dword [esp + 0x4c], 0xffffffff
mov dword [esp + 0x24], ebx
lea esi, [ebx + 0x13]
mov dword [esp + 0xc4], ecx
jmp case.default.0x421ed4
mov dword [esp + 0x38], ecx
mov esi, dword [esp + 0xc4]
cmp esi, ecx
jg 0x421f11
mov esi, 1
mov dword [esp + 0xc4], esi
mov ebx, esi
mov dword [esp + 0x4c], esi
mov dword [esp + 0x24], ebx
jmp case.default.0x421ed4
mov dword [esp + 0x38], ecx
mov eax, dword [esp + 0xc4]
lea esi, [eax + ebp + 1]
cmp esi, ecx
mov ebx, esi
lea edx, [esi - 1]
mov dword [esp + 0x24], ebx
mov dword [esp + 0x4c], edx
jg case.default.0x421ed4
mov esi, 1
lea edx, [esp + 0x68]
call fcn.00420570
fld qword [0x48a210]
fld qword [0x48a208]
mov dword [esp + 0x3c], eax
mov esi, eax
cmp ebx, 0xe
ja 0x422205
test edi, edi
je 0x422205
fld qword [esp + 0x44]
mov edx, 2
fld st(0)
mov dword [esp + 0x28], ebp
mov dword [esp + 0x24], ebx
mov dword [esp + 0x30], edx
mov eax, ebp
test ebp, ebp
jle 0x421fd5
and eax, 0xf
fld qword [eax*8 + 0x48a0b8]
mov eax, ebp
sar eax, 4
test al, 0x10
je 0x421fb4
fxch st(2)
mov edx, 3
fdiv qword [0x48a190]
and eax, 0xf
mov dword [esp + 0x30], edx
fxch st(2)
test eax, eax
je 0x421fd1
mov ecx, 0x48a170
test al, 1
je 0x421fc4
fmul qword [ecx]
inc edx
sar eax, 1
add ecx, 8
test eax, eax
jne 0x421fbd
mov dword [esp + 0x30], edx
fdivp st(2)
jmp 0x422009
neg eax
je 0x422009
mov ecx, eax
and ecx, 0xf
fld qword [ecx*8 + 0x48a0b8]
sar eax, 4
fmulp st(2)
test eax, eax
je 0x422009
mov ecx, 0x48a170
test al, 1
je 0x421ffc
fld qword [ecx]
inc edx
fmulp st(2)
sar eax, 1
add ecx, 8
test eax, eax
jne 0x421ff3
mov dword [esp + 0x30], edx
cmp dword [esp + 0x60], 0
fld1
je 0x42203e
fcom st(2)
fnstsw ax
test ah, 0x41
jne 0x42203e
test ebx, ebx
jle 0x42203e
cmp dword [esp + 0x4c], 0
jle 0x4221df
mov ebx, dword [esp + 0x4c]
fxch st(2)
dec ebp
fmul st(4)
inc edx
fxch st(2)
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x30], edx
fild dword [esp + 0x30]
fmul st(3)
fadd qword [0x48a200]
fstp qword [esp + 0x30]
sub dword [esp + 0x34], 0x3400000
test ebx, ebx
jne 0x42208d
fstp st(0)
xor ebp, ebp
fxch st(1)
mov dword [esp + 0x20], ebp
fsub st(2)
fld qword [esp + 0x30]
fcom st(1)
fnstsw ax
test ah, 5
jnp 0x4225db
fchs
fcompp
fnstsw ax
test ah, 0x41
je 0x42260f
fldz
jmp 0x4221e9
cmp dword [esp + 0x38], 0
je 0x42215a
fld qword [0x48a1e8]
xor edi, edi
fdiv qword [ebx*8 + 0x48a0b0]
fsub qword [esp + 0x30]
fld st(3)
call fcn.00467320
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x18], eax
fild dword [esp + 0x18]
add al, 0x30
mov byte [esi], al
inc esi
fsubp st(4)
fcom st(3)
fnstsw ax
test ah, 0x41
jne 0x422116
fstp st(3)
fstp st(2)
fstp st(1)
fstp st(2)
fstp st(0)
fstp st(0)
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x68]
call fcn.00420540
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc8]
inc eax
mov byte [esi], 0
mov dword [ecx], eax
mov eax, dword [esp + 0xcc]
test eax, eax
je 0x422105
mov dword [eax], esi
mov eax, dword [esp + 0x3c]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xa4
ret
fxch st(3)
fld st(1)
fsub st(4)
fcomp st(1)
fnstsw ax
test ah, 5
jnp 0x42230a
inc edi
cmp edi, ebx
jge 0x4221dd
fmul st(5)
fxch st(3)
fmul st(5)
fld st(0)
call fcn.00467320
mov dword [esp + 0x18], eax
fisub dword [esp + 0x18]
add al, 0x30
mov byte [esi], al
inc esi
fcom st(3)
fnstsw ax
test ah, 5
jp 0x422114
fstp st(0)
jmp 0x4220d0
fstp st(0)
mov edi, 1
fld qword [ebx*8 + 0x48a0b0]
fmul qword [esp + 0x30]
fldz
jmp 0x422172
fxch st(3)
fld st(3)
call fcn.00467320
mov ecx, eax
mov dword [esp + 0x18], ecx
fild dword [esp + 0x18]
fsubp st(4)
fld st(0)
fucomp st(4)
fnstsw ax
test ah, 0x44
jp 0x422192
mov ebx, edi
add cl, 0x30
mov byte [esi], cl
inc esi
cmp edi, ebx
je 0x4221a3
fxch st(3)
inc edi
fmul st(5)
jmp 0x422170
fld st(1)
fld qword [0x48a1e8]
fadd st(1), st(0)
fxch st(1)
fcomp st(5)
fnstsw ax
test ah, 5
jnp 0x422314
fsubrp st(2)
fxch st(3)
fcompp
fnstsw ax
test ah, 5
jp 0x4221e7
fstp st(1)
fstp st(2)
fstp st(0)
fstp st(0)
dec esi
cmp byte [esi], 0x30
je 0x4221d1
inc esi
jmp 0x4220da
fstp st(3)
fstp st(2)
fstp st(1)
fldz
jmp 0x4221e9
fxch st(1)
mov ebp, dword [esp + 0x28]
fxch st(1)
mov ebx, dword [esp + 0x24]
fst qword [esp + 0x44]
mov esi, dword [esp + 0x3c]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x24], ebx
jmp 0x42220b
fldz
fld qword [esp + 0x44]
cmp dword [esp + 0x58], 0
jl 0x422352
cmp ebp, 0xe
jg 0x422352
cmp dword [esp + 0xc4], 0
fld qword [ebp*8 + 0x48a0b8]
jge 0x422268
test ebx, ebx
jg 0x422268
xor ebp, ebp
fstp st(2)
cmp ebx, ebp
fstp st(3)
mov dword [esp + 0x20], ebp
jl 0x4225f6
fmulp st(1)
fcompp
fnstsw ax
test ah, 1
jne 0x4225e5
or eax, 0xffffffff
sub eax, dword [esp + 0xc4]
mov dword [esp + 0x1c], eax
jmp 0x422865
fstp st(3)
fld st(0)
fdiv st(3)
call fcn.00467320
mov esi, dword [esp + 0x3c]
mov ecx, eax
mov dword [esp + 0x18], ecx
fild dword [esp + 0x18]
mov dl, cl
add dl, 0x30
mov byte [esi], dl
fmul st(3)
inc esi
fsubp st(1)
fld st(1)
fucomp st(1)
fnstsw ax
test ah, 0x44
jnp 0x4222cc
mov edi, esi
sub edi, dword [esp + 0x3c]
cmp edi, ebx
je 0x4222d5
fmul st(3)
fld st(0)
fdiv st(3)
call fcn.00467320
mov ecx, eax
mov dword [esp + 0x18], ecx
fild dword [esp + 0x18]
add al, 0x30
mov byte [esi], al
inc esi
fmul st(3)
inc edi
fsubp st(1)
fld st(1)
fucomp st(1)
fnstsw ax
test ah, 0x44
jp 0x42229e
fstp st(0)
fstp st(1)
jmp 0x4220d6
fstp st(1)
fstp st(2)
fld st(1)
faddp st(2)
fcom st(1)
fnstsw ax
test ah, 5
jnp 0x422302
fucompp
fnstsw ax
test ah, 0x44
jp 0x4220da
test cl, 1
je 0x4220da
mov ebp, dword [esp + 0x1c]
jmp 0x422322
mov ebp, dword [esp + 0x1c]
fstp st(1)
jmp 0x422320
mov ebp, dword [esp + 0x1c]
fstp st(3)
fstp st(2)
jmp 0x42231a
fstp st(4)
fstp st(3)
fstp st(0)
fstp st(1)
fstp st(2)
fstp st(0)
fstp st(0)
dec esi
cmp byte [esi], 0x39
jne 0x42234a
mov eax, dword [esp + 0x3c]
lea esp, [esp]
cmp esi, eax
je 0x422342
dec esi
cmp byte [esi], 0x39
je 0x422330
inc byte [esi]
inc esi
jmp 0x4220da
inc ebp
mov dword [esp + 0x1c], ebp
mov byte [esi], 0x30
inc byte [esi]
inc esi
jmp 0x4220da
mov ebp, dword [esp + 0x14]
fstp st(0)
fstp st(0)
xor ebx, ebx
fstp st(1)
mov dword [esp + 0x28], ebp
fstp st(0)
mov dword [esp + 0x30], ebx
mov dword [esp + 0x20], ebx
cmp dword [esp + 0x38], ebx
je 0x4223b0
cmp dword [esp + 0x64], ebx
je 0x422383
mov eax, dword [esp + 0x58]
add eax, 0x433
jmp 0x42238c
mov eax, 0x36
sub eax, dword [esp + 0x5c]
mov edi, dword [esp + 0x40]
add dword [esp + 0x14], eax
add edi, eax
push 1
lea edx, [esp + 0x6c]
mov dword [esp + 0x44], edi
call fcn.004207e0
mov ebx, eax
add esp, 4
mov dword [esp + 0x20], ebx
jmp 0x4223b4
mov edi, dword [esp + 0x40]
test ebp, ebp
jle 0x4223d4
test edi, edi
jle 0x4223d4
cmp ebp, edi
mov eax, ebp
jl 0x4223c4
mov eax, edi
sub dword [esp + 0x14], eax
sub ebp, eax
sub edi, eax
mov dword [esp + 0x28], ebp
mov dword [esp + 0x40], edi
mov eax, dword [esp + 0x50]
test eax, eax
jle 0x422427
cmp dword [esp + 0x38], 0
push eax
lea edi, [esp + 0x6c]
je 0x422417
mov eax, ebx
call fcn.00420920
mov ebp, dword [esp + 0x14]
mov ebx, eax
push ebp
mov edx, edi
mov dword [esp + 0x28], ebx
call fcn.00420800
mov edi, eax
add esp, 8
lea edx, [esp + 0x68]
mov eax, ebp
call fcn.00420540
mov dword [esp + 0x10], edi
jmp 0x422427
mov eax, dword [esp + 0x14]
call fcn.00420920
add esp, 4
mov dword [esp + 0x10], eax
push 1
lea edx, [esp + 0x6c]
call fcn.004207e0
add esp, 4
cmp dword [esp + 0x2c], 0
mov ebp, eax
mov dword [esp + 0x18], ebp
jle 0x422459
mov ecx, dword [esp + 0x2c]
push ecx
lea edi, [esp + 0x6c]
call fcn.00420920
add esp, 4
mov ebp, eax
mov dword [esp + 0x18], eax
cmp dword [esp + 0xc0], 2
mov dword [esp + 0x50], 0
jl 0x422472
cmp dword [esp + 0x38], 0
je 0x42249f
cmp dword [esp + 0x44], 0
jne 0x42249f
mov eax, dword [esp + 0x48]
test eax, 0xfffff
jne 0x42249f
test eax, 0x7fe00000
je 0x42249f
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x40]
inc edx
inc edi
mov dword [esp + 0x50], 1
jmp 0x4224a7
mov edx, dword [esp + 0x14]
mov edi, dword [esp + 0x40]
cmp dword [esp + 0x2c], 0
je 0x4224c6
mov eax, dword [ebp + 0x10]
mov ecx, dword [ebp]
mov ecx, dword [ecx + eax*4 - 4]
call fcn.00420720
mov ecx, 0x20
sub ecx, eax
jmp 0x4224cb
mov ecx, 1
lea eax, [ecx + edi]
and eax, 0x1f
je 0x4224dc
mov ecx, 0x20
sub ecx, eax
mov eax, ecx
cmp eax, 4
jle 0x4224e6
sub eax, 4
jmp 0x4224eb
jge 0x4224f3
add eax, 0x1c
add dword [esp + 0x28], eax
add edx, eax
add edi, eax
test edx, edx
jle 0x42250e
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x68]
push eax
push edx
push ecx
call fcn.00420a00
add esp, 0xc
mov dword [esp + 0x10], eax
test edi, edi
jle 0x422527
lea edx, [esp + 0x68]
push edx
push edi
push ebp
call fcn.00420a00
mov ebp, eax
add esp, 0xc
mov dword [esp + 0x18], ebp
cmp dword [esp + 0x60], 0
je 0x422584
mov edx, dword [esp + 0x10]
mov eax, ebp
call fcn.00420ad0
test eax, eax
jge 0x422584
mov ecx, dword [esp + 0x10]
dec dword [esp + 0x1c]
lea eax, [esp + 0x68]
push eax
push 0
push 0xa
push ecx
call fcn.004205b0
add esp, 0x10
cmp dword [esp + 0x38], 0
mov dword [esp + 0x10], eax
je 0x42257a
lea edx, [esp + 0x68]
push edx
push 0
push 0xa
push ebx
call fcn.004205b0
mov ebx, eax
add esp, 0x10
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x24], eax
jmp 0x422588
mov eax, dword [esp + 0x24]
test eax, eax
jg 0x422628
mov ecx, dword [esp + 0xc0]
cmp ecx, 3
je 0x4225a5
cmp ecx, 5
jne 0x422628
test eax, eax
jl 0x422615
lea eax, [esp + 0x68]
push eax
push 0
push 5
push ebp
call fcn.004205b0
mov edx, dword [esp + 0x20]
add esp, 0x10
mov ebp, eax
call fcn.00420ad0
test eax, eax
jle 0x422615
mov esi, dword [esp + 0x3c]
mov byte [esi], 0x31
inc esi
inc dword [esp + 0x1c]
jmp 0x422865
fstp st(1)
fstp st(0)
fstp st(2)
fstp st(0)
fstp st(0)
mov esi, dword [esp + 0x3c]
mov byte [esi], 0x31
inc esi
inc dword [esp + 0x1c]
jmp 0x422865
fstp st(0)
or eax, 0xffffffff
sub eax, dword [esp + 0xc4]
fstp st(1)
fstp st(0)
mov dword [esp + 0x1c], eax
jmp 0x422865
fstp st(2)
fstp st(0)
fstp st(0)
or eax, 0xffffffff
sub eax, dword [esp + 0xc4]
mov dword [esp + 0x1c], eax
jmp 0x422865
cmp dword [esp + 0x38], 0
je 0x4228a1
cmp dword [esp + 0x28], 0
jle 0x422651
mov edx, dword [esp + 0x28]
lea ecx, [esp + 0x68]
push ecx
push edx
push ebx
call fcn.00420a00
add esp, 0xc
mov dword [esp + 0x20], eax
cmp dword [esp + 0x50], 0
mov ebx, dword [esp + 0x20]
mov dword [esp + 0x30], ebx
je 0x42269a
mov edi, dword [ebx + 4]
lea edx, [esp + 0x68]
call fcn.004204c0
mov edi, eax
mov eax, dword [ebx + 0x10]
lea ecx, [eax*4 + 8]
push ecx
add ebx, 0xc
lea edx, [edi + 0xc]
push ebx
push edx
call sub.MSVCR90.dll_memcpy
lea eax, [esp + 0x74]
push eax
push 1
push edi
call fcn.00420a00
add esp, 0x18
mov dword [esp + 0x20], eax
mov dword [esp + 0x14], 1
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x10]
push edi
push ebp
call fcn.00421b00
mov ebx, eax
mov eax, dword [esp + 0x38]
add esp, 8
mov edx, ebp
add ebx, 0x30
call fcn.00420ad0
mov ecx, dword [esp + 0x20]
mov ebp, eax
lea eax, [esp + 0x68]
mov edx, edi
call fcn.00420b20
mov edi, eax
cmp dword [edi + 0xc], 0
je 0x4226e7
mov dword [esp + 0x2c], 1
jmp 0x4226f6
mov edx, dword [esp + 0x10]
mov eax, edi
call fcn.00420ad0
mov dword [esp + 0x2c], eax
lea edx, [esp + 0x68]
mov eax, edi
call fcn.00420540
cmp dword [esp + 0x2c], 0
mov edi, 1
jne 0x422721
cmp dword [esp + 0xc0], edi
je 0x422721
test byte [esp + 0x44], 1
je 0x4227d7
test ebp, ebp
jl 0x4227f5
jne 0x42273f
cmp dword [esp + 0xc0], edi
je 0x42273f
test byte [esp + 0x44], 1
je 0x4227f5
cmp dword [esp + 0x2c], 0
jg 0x4227e8
mov ecx, dword [esp + 0x24]
mov byte [esi], bl
add esi, edi
cmp dword [esp + 0x14], ecx
je 0x4228fb
mov eax, dword [esp + 0x10]
lea edx, [esp + 0x68]
push edx
push 0
push 0xa
push eax
call fcn.004205b0
mov edi, dword [esp + 0x30]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x40]
add esp, 0x10
cmp eax, edi
jne 0x4227a5
lea ecx, [esp + 0x68]
push ecx
push 0
push 0xa
push edi
call fcn.004205b0
add esp, 0x10
inc dword [esp + 0x14]
mov dword [esp + 0x30], eax
mov dword [esp + 0x20], eax
jmp 0x4226a2
lea edx, [esp + 0x68]
push edx
push 0
push 0xa
push eax
call fcn.004205b0
mov dword [esp + 0x40], eax
lea eax, [esp + 0x78]
push eax
push 0
push 0xa
push edi
call fcn.004205b0
add esp, 0x20
inc dword [esp + 0x14]
mov dword [esp + 0x20], eax
jmp 0x4226a2
cmp ebx, 0x39
je 0x42283e
test ebp, ebp
jle 0x4227e2
add ebx, edi
mov byte [esi], bl
add esi, edi
jmp 0x422861
cmp ebx, 0x39
je 0x42283e
inc bl
mov byte [esi], bl
add esi, edi
jmp 0x422861
mov eax, dword [esp + 0x10]
mov ecx, dword [eax]
cmp dword [ecx], 0
jne 0x422805
cmp dword [eax + 0x10], edi
jle 0x4227e2
cmp dword [esp + 0x2c], 0
jle 0x4227e2
lea edx, [esp + 0x68]
push edx
push edi
push eax
call fcn.00420a00
mov edx, eax
mov eax, dword [esp + 0x24]
add esp, 0xc
mov dword [esp + 0x10], edx
call fcn.00420ad0
test eax, eax
jg 0x422835
jne 0x4227e2
test bl, 1
je 0x4227e2
mov eax, ebx
add ebx, edi
cmp eax, 0x39
jne 0x4227e2
mov byte [esi], 0x39
add esi, edi
dec esi
cmp byte [esi], 0x39
jne 0x42285e
mov eax, dword [esp + 0x3c]
lea ecx, [ecx]
cmp esi, eax
je 0x42293c
dec esi
cmp byte [esi], 0x39
je 0x422850
inc byte [esi]
inc esi
mov ebp, dword [esp + 0x18]
lea edx, [esp + 0x68]
mov eax, ebp
call fcn.00420540
mov edi, dword [esp + 0x20]
test edi, edi
je 0x4220da
mov eax, dword [esp + 0x30]
test eax, eax
je 0x422891
cmp eax, edi
je 0x422891
lea edx, [esp + 0x68]
call fcn.00420540
lea edx, [esp + 0x68]
mov eax, edi
call fcn.00420540
jmp 0x4220da
mov edi, dword [esp + 0x10]
mov dword [esp + 0x14], 1
lea ecx, [ecx]
push ebp
push edi
call fcn.00421b00
mov ebx, eax
add ebx, 0x30
mov byte [esi], bl
mov ecx, dword [edi]
add esp, 8
inc esi
cmp dword [ecx], 0
jne 0x4228d3
cmp dword [edi + 0x10], 1
jle 0x422865
mov edi, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
cmp edx, dword [esp + 0x24]
jge 0x4228fb
lea eax, [esp + 0x68]
push eax
push 0
push 0xa
push edi
call fcn.004205b0
mov edi, eax
add esp, 0x10
inc dword [esp + 0x14]
mov dword [esp + 0x10], edi
jmp 0x4228b0
mov edx, dword [esp + 0x10]
lea ecx, [esp + 0x68]
push ecx
push 1
push edx
call fcn.00420a00
mov edx, eax
mov eax, dword [esp + 0x24]
add esp, 0xc
mov dword [esp + 0x10], edx
call fcn.00420ad0
test eax, eax
jg 0x422843
jne 0x422931
test bl, 1
jne 0x422843
dec esi
cmp byte [esi], 0x30
je 0x422931
jmp 0x422860
inc dword [esp + 0x1c]
mov byte [esi], 0x31
jmp 0x422860