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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0xbc
mov eax, dword [0x66a8c4]
xor eax, esp
mov dword [esp + 0xb8], eax
mov eax, dword [ebp + 8]
mov ecx, dword [ebp + 0xc]
push ebx
mov ebx, dword [ebp + 0x10]
xor edx, edx
test byte [eax + 0x19], 2
push esi
push edi
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], ebx
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], edx
mov dword [esp + 0x14], edx
je 0x434646
mov eax, dword [ebx]
add ebx, 4
mov dword [esp + 0x34], ebx
mov dword [esp + 0x3c], eax
mov byte [esp + 0x12], 1
jmp 0x43464a
mov byte [esp + 0x12], dl
movsx eax, byte [ecx]
cmp eax, edx
je case.default.0x43492e
mov edi, ecx
jmp 0x434664
mov ebx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
cmp eax, 0x25
je 0x4346c8
mov esi, edi
mov dword [esp + 0x14], esi
mov al, byte [edi + 1]
inc edi
test al, al
je 0x43467f
cmp al, 0x25
jne 0x434673
mov ecx, dword [edx + 0xc]
mov eax, edi
sub eax, esi
add ecx, eax
cmp ecx, dword [edx + 0x10]
jb 0x43469e
push esi
mov esi, dword [esp + 0x34]
call fcn.004358f0
add esp, 4
mov edx, esi
jmp 0x4346bf
test eax, eax
je 0x4346bf
mov edx, dword [esp + 0x30]
mov dword [edx + 0xc], ecx
mov edx, dword [edx + 8]
push eax
sub edx, eax
add edx, ecx
push esi
push edx
call fcn.00596f90
mov edx, dword [esp + 0x3c]
add esp, 0xc
cmp byte [edi], 0
je case.default.0x43492e
movsx eax, byte [edi + 1]
inc edi
xor esi, esi
cmp eax, esi
je 0x43568e
mov byte [esp + 0x24], 0
mov byte [esp + 0x2f], 0
mov byte [esp + 0x27], 0
mov byte [esp + 0x23], 0
mov byte [esp + 0x25], 0
mov byte [esp + 0x26], 0
lea ecx, [eax - 0x20]
cmp ecx, 0x10
ja case.0x434704.34
movzx ecx, byte [ecx + 0x435730]
jmp dword [ecx*4 + 0x435710]
mov byte [esp + 0x26], 1
jmp 0x43473a
mov byte [esp + 0x25], 0x2b
jmp 0x43473a
mov byte [esp + 0x25], 0x20
jmp 0x43473a
mov byte [esp + 0x27], 1
jmp 0x43473a
mov byte [esp + 0x2f], 1
jmp 0x43473a
mov byte [esp + 0x24], 1
jmp 0x43473a
mov byte [esp + 0x23], 0x2c
movsx eax, byte [edi + 1]
inc edi
cmp eax, esi
jne 0x4346f5
mov dword [esp + 0x18], edi
cmp eax, 0x2a
jne 0x4347c1
cmp byte [esp + 0x12], 0
je 0x434783
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx + 4]
cmp dword [ecx], eax
jg 0x434766
xor eax, eax
mov dword [esp + 0x44], esi
jmp 0x43478c
mov edx, dword [esp + 0x3c]
mov ecx, dword [edx + 8]
mov ecx, dword [ecx + eax*4]
inc eax
push ecx
mov dword [edx + 4], eax
call fcn.004567c0
add esp, 4
mov dword [esp + 0x44], edx
jmp 0x43478c
mov eax, dword [ebx]
add ebx, 4
mov dword [esp + 0x34], ebx
xor esi, esi
cmp eax, esi
mov dword [esp + 0x28], eax
jge 0x4347b6
cmp eax, reloc.WS2_32.dll_accept
mov byte [esp + 0x26], 1
jl 0x4347b2
neg eax
inc edi
mov dword [esp + 0x28], eax
movsx eax, byte [edi]
mov dword [esp + 0x18], edi
jmp 0x4347eb
mov dword [esp + 0x28], esi
movsx eax, byte [edi + 1]
inc edi
mov dword [esp + 0x18], edi
jmp 0x4347eb
xor ecx, ecx
cmp eax, 0x30
jl 0x4347e1
cmp eax, 0x39
jg 0x4347dd
lea edx, [ecx + ecx*4]
inc edi
lea ecx, [eax + edx*2 - 0x30]
movsx eax, byte [edi]
cmp eax, 0x30
jge 0x4347c8
mov dword [esp + 0x18], edi
and ecx, 0x7fffffff
mov dword [esp + 0x28], ecx
cmp eax, 0x2e
jne 0x4348a5
movsx eax, byte [edi + 1]
inc edi
mov dword [esp + 0x18], edi
cmp eax, 0x2a
jne 0x434872
cmp byte [esp + 0x12], 0
je 0x434841
mov ecx, dword [esp + 0x3c]
mov eax, dword [ecx + 4]
cmp dword [ecx], eax
jg 0x434820
xor eax, eax
mov dword [esp + 0x44], esi
mov dword [esp + 0x1c], eax
jmp 0x43484e
mov edx, dword [esp + 0x3c]
mov ecx, dword [edx + 8]
mov ecx, dword [ecx + eax*4]
inc eax
push ecx
mov dword [edx + 4], eax
call fcn.004567c0
add esp, 4
mov dword [esp + 0x44], edx
mov dword [esp + 0x1c], eax
jmp 0x43484e
mov edx, dword [ebx]
add ebx, 4
mov dword [esp + 0x34], ebx
mov dword [esp + 0x1c], edx
movsx eax, byte [edi + 1]
inc edi
cmp dword [esp + 0x1c], 0
mov dword [esp + 0x18], edi
jge 0x4348ad
mov ecx, dword [esp + 0x1c]
cmp ecx, reloc.WS2_32.dll_accept
jl 0x4348a5
neg ecx
mov dword [esp + 0x1c], ecx
jmp 0x4348ad
xor ecx, ecx
cmp eax, 0x30
jl 0x434899
lea esp, [esp]
cmp eax, 0x39
jg 0x434895
lea ecx, [ecx + ecx*4]
inc edi
lea ecx, [eax + ecx*2 - 0x30]
movsx eax, byte [edi]
cmp eax, 0x30
jge 0x434880
mov dword [esp + 0x18], edi
and ecx, 0x7fffffff
mov dword [esp + 0x1c], ecx
jmp 0x4348ad
mov dword [esp + 0x1c], 0xffffffff
cmp eax, 0x6c
jne 0x4348d5
movsx eax, byte [edi + 1]
inc edi
mov byte [esp + 0x11], 1
mov dword [esp + 0x18], edi
cmp eax, 0x6c
jne 0x4348da
movsx eax, byte [edi + 1]
inc edi
mov byte [esp + 0x11], 2
mov dword [esp + 0x18], edi
jmp 0x4348da
mov byte [esp + 0x11], 0
mov ecx, 0x5fcc60
mov dl, 0x11
mov dword [esp + 0x4c], ecx
mov byte [esp + 0x13], dl
xor esi, esi
jmp 0x4348f0
movsx edi, byte [ecx]
cmp eax, edi
je 0x434909
add ecx, 6
inc esi
cmp ecx, 0x5fccea
jl 0x4348f0
mov ecx, dword [esp + 0x4c]
jmp 0x434922
lea ecx, [esi + esi*2]
mov dl, byte [ecx*2 + 0x5fcc63]
lea ecx, [ecx*2 + 0x5fcc60]
mov dword [esp + 0x4c], ecx
mov byte [esp + 0x13], dl
movzx eax, dl
cmp eax, 0x10
ja case.default.0x43492e
jmp dword [eax*4 + 0x435744]
mov al, 1
mov byte [esp + 0x23], 0
jmp 0x43494d
mov al, byte [esp + 0x11]
mov byte [esp + 0x23], 0
jmp 0x43494d
mov al, byte [esp + 0x11]
test byte [ecx + 2], 1
je 0x4349e2
cmp byte [esp + 0x12], 0
je 0x434993
mov edx, dword [esp + 0x3c]
mov eax, dword [edx + 4]
cmp dword [edx], eax
jg 0x43497e
xor eax, eax
xor edx, edx
mov esi, edx
mov dl, byte [esp + 0x25]
mov edi, eax
mov byte [esp + 0x11], dl
jmp 0x434a39
mov ecx, dword [edx + 8]
mov ecx, dword [ecx + eax*4]
inc eax
push ecx
mov dword [edx + 4], eax
call fcn.004567c0
add esp, 4
jmp 0x4349af
test al, al
je 0x4349a5
cmp al, 2
jne 0x4349a5
mov eax, dword [ebx]
mov edx, dword [ebx + 4]
add ebx, 8
jmp 0x4349ab
mov eax, dword [ebx]
add ebx, 4
cdq
mov dword [esp + 0x34], ebx
test edx, edx
jg 0x43496d
jl 0x4349b9
test eax, eax
jae 0x43496d
test eax, eax
jne 0x4349d0
cmp edx, 0x80000000
jne 0x4349d0
xor edi, edi
mov esi, edx
mov byte [esp + 0x11], 0x2d
jmp 0x434a39
neg eax
adc edx, 0
neg edx
mov edi, eax
mov esi, edx
mov byte [esp + 0x11], 0x2d
jmp 0x434a39
cmp byte [esp + 0x12], 0
je 0x434a17
mov edx, dword [esp + 0x3c]
mov eax, dword [edx + 4]
cmp dword [edx], eax
jg 0x4349fe
xor eax, eax
xor edx, edx
mov edi, eax
mov esi, edx
jmp 0x434a34
mov ecx, dword [edx + 8]
mov ecx, dword [ecx + eax*4]
inc eax
push ecx
mov dword [edx + 4], eax
call fcn.004567c0
add esp, 4
mov edi, eax
mov esi, edx
jmp 0x434a34
test al, al
je 0x434a29
cmp al, 2
jne 0x434a29
mov edi, dword [ebx]
mov esi, dword [ebx + 4]
add ebx, 8
jmp 0x434a30
mov edi, dword [ebx]
add ebx, 4
xor esi, esi
mov dword [esp + 0x34], ebx
mov byte [esp + 0x11], 0
mov edx, edi
or edx, esi
jne 0x434a43
mov byte [esp + 0x27], dl
cmp byte [esp + 0x24], 0
je 0x434a63
mov eax, dword [esp + 0x28]
xor ecx, ecx
cmp byte [esp + 0x11], cl
setne cl
sub eax, ecx
cmp dword [esp + 0x1c], eax
jge 0x434a63
mov dword [esp + 0x1c], eax
cmp dword [esp + 0x1c], 0x25
jge 0x434a79
lea eax, [esp + 0x78]
mov ebx, 0x46
mov dword [esp + 0x50], eax
jmp 0x434ac1
mov eax, 0x55555556
imul dword [esp + 0x1c]
mov eax, edx
shr eax, 0x1f
add eax, edx
cdq
mov ebx, eax
mov eax, dword [esp + 0x1c]
mov ecx, edx
cdq
add ebx, eax
adc ecx, edx
add ebx, 0xa
adc ecx, 0
mov edx, ebx
or edx, ecx
je 0x434aaf
push ecx
push ebx
call fcn.00433a80
add esp, 8
jmp 0x434ab1
xor eax, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x50], eax
test eax, eax
je 0x4356e9
cmp byte [esp + 0x13], 0xf
lea eax, [eax + ebx - 1]
mov dword [esp + 0x58], ebx
mov dword [esp + 0x14], eax
jne 0x434b1c
push 0
push 0xa
push esi
push edi
call fcn.0059d510
mov dword [esp + 0x44], ebx
mov ebx, ecx
cmp ebx, 4
jge 0x434afe
push 0
push 0xa
push edx
push eax
call fcn.005c4670
cmp eax, 1
jne 0x434b00
test edx, edx
jne 0x434b00
xor ebx, ebx
mov eax, dword [esp + 0x14]
mov cl, byte [ebx*2 + 0x5fcced]
dec eax
mov byte [eax], cl
mov dl, byte [ebx*2 + str.thstndrd]
dec eax
mov dword [esp + 0x14], eax
mov byte [eax], dl
mov ecx, dword [esp + 0x4c]
movzx eax, byte [ecx + 4]
add eax, str.0123456789ABCDEF0123456789abcdef
mov dword [esp + 0x40], eax
movzx eax, byte [ecx + 1]
cdq
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
mov eax, dword [esp + 0x64]
mov ecx, dword [esp + 0x60]
dec dword [esp + 0x14]
push eax
push ecx
push esi
push edi
call fcn.0059d510
mov esi, dword [esp + 0x40]
mov cl, byte [ecx + esi]
mov esi, dword [esp + 0x14]
mov byte [esi], cl
mov esi, edx
mov dword [esp + 0x74], ebx
mov edi, eax
test esi, esi
ja 0x434b3a
jb 0x434b6e
test edi, edi
ja 0x434b3a
mov esi, dword [esp + 0x50]
mov edi, dword [esp + 0x14]
mov eax, dword [esp + 0x58]
mov ecx, dword [esp + 0x1c]
mov edx, esi
sub edx, edi
lea eax, [edx + eax - 1]
cmp ecx, eax
jle 0x434b9d
sub ecx, eax
add eax, ecx
mov edi, edi
dec edi
sub ecx, 1
mov byte [edi], 0x30
jne 0x434b90
mov dword [esp + 0x14], edi
cmp byte [esp + 0x23], 0
je 0x434be1
dec eax
cdq
mov ecx, 3
idiv ecx
xor ecx, ecx
sub edi, eax
inc edx
mov dword [esp + 0x14], edi
test eax, eax
jle 0x434be1
lea ebx, [ebx]
sub edx, 1
lea ebx, [eax + ecx]
mov bl, byte [ebx + edi]
mov byte [ecx + edi], bl
jne 0x434bdc
mov dl, byte [esp + 0x23]
inc ecx
mov byte [ecx + edi], dl
dec eax
mov edx, 3
inc ecx
test eax, eax
jg 0x434bc0
mov al, byte [esp + 0x11]
test al, al
je 0x434bf0
dec edi
mov dword [esp + 0x14], edi
mov byte [edi], al
cmp byte [esp + 0x27], 0
je 0x434c1e
mov eax, dword [esp + 0x4c]
mov al, byte [eax + 5]
test al, al
je 0x434c1e
movzx eax, al
add eax, 0x5fcc54
mov cl, byte [eax]
test cl, cl
je 0x434c1e
dec edi
inc eax
mov byte [edi], cl
mov cl, byte [eax]
test cl, cl
jne 0x434c10
mov dword [esp + 0x14], edi
mov ecx, dword [esp + 0x58]
sub esi, edi
lea esi, [esi + ecx - 1]
jmp 0x435475
cmp byte [esp + 0x12], 0
je 0x434c3f
mov eax, dword [esp + 0x3c]
call fcn.00434560
jmp 0x434c48
fld qword [ebx]
add ebx, 8
mov dword [esp + 0x34], ebx
mov ecx, dword [esp + 0x1c]
fst qword [esp + 0x40]
test ecx, ecx
jge 0x434c5d
mov ecx, 6
mov dword [esp + 0x1c], ecx
fldz
fcom st(1)
fnstsw ax
fxch st(1)
test ah, 0x41
jne 0x434c77
fchs
mov byte [esp + 0x11], 0x2d
fst qword [esp + 0x40]
jmp 0x434c7f
mov dl, byte [esp + 0x25]
mov byte [esp + 0x11], dl
mov dl, byte [esp + 0x13]
cmp dl, 3
jne 0x434c91
test ecx, ecx
jle 0x434c91
dec ecx
mov dword [esp + 0x1c], ecx
fld qword [0x609500]
mov eax, ecx
fld qword [0x6095d0]
and eax, 0xfff
cmp eax, 8
jl 0x434ccc
lea ecx, [eax - 8]
shr ecx, 3
inc ecx
mov esi, ecx
neg esi
lea eax, [eax + esi*8]
sub ecx, 1
fmul st(1), st(0)
fmul st(1), st(0)
fmul st(1), st(0)
fmul st(1), st(0)
fmul st(1), st(0)
fmul st(1), st(0)
fmul st(1), st(0)
fmul st(1), st(0)
jne 0x434cb7
test eax, eax
jle 0x434cd7
dec eax
fmul st(1), st(0)
test eax, eax
jg 0x434cd0
cmp dl, 1
jne 0x434ce8
fld st(1)
faddp st(3)
fxch st(2)
fst qword [esp + 0x40]
fxch st(2)
fxch st(2)
xor ebx, ebx
fst qword [esp + 0x58]
fld qword [esp + 0x58]
fstp qword [esp + 0x50]
fld qword [esp + 0x58]
fld qword [esp + 0x50]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x434d21
fstp st(3)
mov dword [esp + 0x14], 0x605bc4
fstp st(2)
lea esi, [ebx + 3]
fstp st(1)
fstp st(0)
jmp 0x435475
fcom st(3)
fnstsw ax
fstp st(3)
test ah, 0x41
jne 0x434e64
fld1
fld st(0)
fld qword [0x6095c8]
fcom st(5)
fnstsw ax
test ah, 0x41
jp 0x434d5d
cmp ebx, 0x15e
jg 0x434d5d
fmul st(1), st(0)
add ebx, 0x64
fld st(1)
fmul st(1)
fcomp st(6)
fnstsw ax
test ah, 0x41
jnp 0x434d43
fstp st(0)
fld st(0)
fld qword [0x609580]
fmul st(1), st(0)
fxch st(6)
fcom st(1)
fnstsw ax
test ah, 1
je 0x434d7e
fstp st(1)
fstp st(5)
jmp 0x434d9e
fxch st(1)
fxch st(2)
cmp ebx, 0x15e
jg 0x434d74
fstp st(2)
add ebx, 0xa
fld st(0)
fmul st(6)
fcom st(2)
fnstsw ax
test ah, 0x41
jnp 0x434d7a
fstp st(0)
fstp st(5)
fxch st(4)
fld st(0)
fld qword [0x6094e8]
fmul st(1), st(0)
fxch st(6)
fcom st(1)
fnstsw ax
test ah, 1
je 0x434dbb
fstp st(1)
jmp 0x434dd7
fxch st(1)
fxch st(2)
cmp ebx, 0x15e
jg 0x434db3
fstp st(2)
inc ebx
fld st(0)
fmul st(6)
fcom st(2)
fnstsw ax
test ah, 0x41
jnp 0x434db7
fstp st(0)
fxch st(1)
fdivrp st(1)
fst qword [esp + 0x40]
fld qword [0x6095c0]
fcom st(1)
fnstsw ax
test ah, 0x41
je 0x434e0d
fstp st(0)
fcom st(1)
fnstsw ax
test ah, 5
jp 0x434e29
fmul st(4)
dec ebx
fcom st(1)
fnstsw ax
test ah, 5
jnp 0x434df7
fstp st(1)
fst qword [esp + 0x40]
jmp 0x434e2b
fxch st(1)
fxch st(1)
sub ebx, 8
fmul qword [0x6095b8]
fcom st(1)
fnstsw ax
test ah, 5
jnp 0x434e0b
fstp st(1)
fst qword [esp + 0x40]
jmp 0x434dee
fstp st(1)
cmp ebx, 0x15e
jle 0x434e6c
lea eax, [esp + 0x78]
fstp st(0)
xor ecx, ecx
fstp st(0)
mov dword [esp + 0x14], eax
fstp st(1)
mov al, byte [esp + 0x11]
fstp st(0)
test al, al
setne cl
mov byte [esp + 0x78], al
mov esi, ecx
mov dword [esp + esi + 0x78], 0x666e49
add esi, 3
jmp 0x435475
fld qword [0x6094e8]
fxch st(3)
mov cl, byte [esp + 0x13]
lea esi, [esp + 0x78]
cmp cl, 1
je 0x434e91
faddp st(1)
fst qword [esp + 0x40]
fcom st(2)
fnstsw ax
test ah, 1
jne 0x434e93
fmulp st(1)
inc ebx
fst qword [esp + 0x40]
jmp 0x434e95
fstp st(1)
fstp st(1)
cmp cl, 3
jne 0x434f1b
cmp byte [esp + 0x27], 0
sete byte [esp + 0x25]
cmp ebx, 0xfffffffc
jl 0x434f0e
cmp ebx, dword [esp + 0x1c]
jg 0x434f0e
sub dword [esp + 0x1c], ebx
mov byte [esp + 0x13], 1
mov eax, ebx
mov dword [esp + 0x58], ebx
xor ecx, ecx
test eax, eax
setle cl
dec ecx
and eax, ecx
cdq
mov ecx, eax
mov eax, dword [esp + 0x1c]
mov edi, edx
cdq
add ecx, eax
mov eax, dword [esp + 0x28]
adc edi, edx
cdq
add ecx, eax
mov eax, edi
adc eax, edx
js 0x434f48
jg 0x434eee
cmp ecx, 0x37
jbe 0x434f48
add ecx, 0xf
fstp st(1)
adc eax, 0
mov edx, ecx
or edx, eax
je 0x434f30
push eax
fstp st(0)
push ecx
call fcn.00433a80
fld qword [esp + 0x48]
add esp, 8
jmp 0x434f32
xor eax, eax
mov byte [esp + 0x13], 2
mov dword [esp + 0x58], eax
jmp 0x434ec2
mov dl, byte [esp + 0x2f]
mov byte [esp + 0x25], dl
cmp cl, 2
jne 0x434ebc
xor eax, eax
mov dword [esp + 0x58], eax
jmp 0x434ec2
xor eax, eax
mov dword [esp + 0x38], eax
mov esi, eax
test eax, eax
je 0x4356e7
fld qword [0x6094e8]
jmp 0x434f4a
fxch st(1)
mov dl, byte [esp + 0x2f]
cmp dword [esp + 0x1c], 0
movzx eax, dl
lea eax, [eax + eax*4]
lea ecx, [eax + eax + 0x10]
mov al, byte [esp + 0x11]
mov dword [esp + 0x14], ecx
setg cl
or cl, dl
or cl, byte [esp + 0x27]
mov dword [esp + 0x50], esi
mov byte [esp + 0x23], cl
test al, al
je 0x434f7d
mov byte [esi], al
inc esi
mov edi, dword [esp + 0x58]
test edi, edi
jge 0x434f8d
mov byte [esi], 0x30
fstp st(0)
inc esi
jmp 0x434fc3
cmp dword [esp + 0x14], 0
jg 0x434f98
mov al, 0x30
jmp 0x434fb1
dec dword [esp + 0x14]
fld st(1)
call fcn.0059af10
mov dword [esp + 0x40], eax
fild dword [esp + 0x40]
add al, 0x30
fsubp st(2)
fmul st(1), st(0)
mov byte [esi], al
inc esi
sub edi, 1
jns 0x434f8d
mov cl, byte [esp + 0x23]
fstp st(0)
fst qword [esp + 0x40]
test cl, cl
je 0x434fcb
mov byte [esi], 0x2e
inc esi
add edi, 1
jns 0x434fea
neg edi
fstp st(0)
push edi
push 0x30
push esi
call fcn.00591690
fld qword [esp + 0x4c]
add esp, 0xc
add esi, edi
sub dword [esp + 0x1c], edi
cmp dword [esp + 0x1c], 0
jle 0x43502b
fld qword [0x6094e8]
dec dword [esp + 0x1c]
cmp dword [esp + 0x14], 0
jg 0x435006
mov al, 0x30
jmp 0x43501f
dec dword [esp + 0x14]
fld st(1)
call fcn.0059af10
mov dword [esp + 0x40], eax
fild dword [esp + 0x40]
add al, 0x30
fsubp st(2)
fmul st(1), st(0)
mov byte [esi], al
inc esi
cmp dword [esp + 0x1c], 0
jg 0x434ff7
fstp st(1)
cmp byte [esp + 0x25], 0
fstp st(0)
je 0x435062
cmp byte [esp + 0x23], 0
je 0x435062
cmp byte [esi - 1], 0x30
jne 0x43504b
dec esi
mov byte [esi], 0
cmp byte [esi - 1], 0x30
je 0x435041
cmp byte [esi - 1], 0x2e
jne 0x435062
cmp byte [esp + 0x2f], 0
je 0x43505e
mov byte [esi], 0x30
inc esi
jmp 0x435062
dec esi
mov byte [esi], 0
cmp byte [esp + 0x13], 2
jne 0x4350d2
mov edx, dword [esp + 0x4c]
movzx eax, byte [edx + 4]
mov cl, byte [eax + str.0123456789ABCDEF0123456789abcdef]
mov byte [esi], cl
inc esi
test ebx, ebx
jge 0x435086
mov byte [esi], 0x2d
inc esi
neg ebx
jmp 0x43508a
mov byte [esi], 0x2b
inc esi
cmp ebx, 0x64
jl 0x4350ad
mov eax, 0x51eb851f
imul ebx
sar edx, 5
mov eax, edx
shr eax, 0x1f
add eax, edx
mov dl, al
imul eax, eax, 0xffffff9c
add dl, 0x30
mov byte [esi], dl
inc esi
add ebx, eax
mov eax, 0x66666667
imul ebx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
mov cl, al
mov dl, 0xa
imul dl
add cl, 0x30
mov byte [esi], cl
sub bl, al
inc esi
add bl, 0x30
mov byte [esi], bl
inc esi
mov eax, dword [esp + 0x50]
mov byte [esi], 0
sub esi, eax
cmp byte [esp + 0x24], 0
mov dword [esp + 0x14], eax
je 0x435475
cmp byte [esp + 0x26], 0
jne 0x435475
mov edi, dword [esp + 0x28]
cmp esi, edi
jge 0x435475
mov ecx, edi
sub ecx, esi
cmp edi, ecx
mov esi, dword [esp + 0x50]
mov eax, edi
jl 0x43511e
mov edx, esi
sub edx, ecx
mov bl, byte [edx + eax]
mov byte [eax + esi], bl
dec eax
cmp eax, ecx
jge 0x435113
xor eax, eax
cmp byte [esp + 0x11], al
setne al
test ecx, ecx
je 0x435139
push ecx
add eax, esi
push 0x30
push eax
call fcn.00591690
add esp, 0xc
mov esi, edi
jmp 0x435475
cmp byte [esp + 0x12], 0
jne 0x435159
mov ecx, dword [esp + 0x30]
mov eax, dword [ebx]
mov edx, dword [ecx + 0xc]
add ebx, 4
mov dword [esp + 0x34], ebx
mov dword [eax], edx
xor esi, esi
mov dword [esp + 0x28], esi
jmp 0x435475
lea eax, [esp + 0x78]
mov byte [esp + 0x78], 0x25
mov dword [esp + 0x14], eax
mov esi, 1
jmp 0x435475
cmp byte [esp + 0x12], 0
je 0x4351a2
mov eax, dword [esp + 0x3c]
call fcn.004345a0
test eax, eax
je 0x435198
movsx ecx, byte [eax]
mov dword [esp + 0x4c], ecx
jmp 0x4351af
mov dword [esp + 0x4c], 0
jmp 0x4351af
mov edx, dword [ebx]
add ebx, 4
mov dword [esp + 0x34], ebx
mov dword [esp + 0x4c], edx
mov eax, dword [esp + 0x1c]
cmp eax, 1
jle 0x4351fd
mov ecx, 1
sub ecx, eax
mov eax, dword [esp + 0x28]
add eax, ecx
cmp eax, 1
mov dword [esp + 0x28], eax
jle 0x4351eb
cmp byte [esp + 0x26], 0
jne 0x4351eb
mov esi, dword [esp + 0x30]
mov ecx, eax
dec ecx
mov bl, 0x20
call fcn.004358a0
mov dword [esp + 0x28], 0
mov ecx, dword [esp + 0x1c]
mov bl, byte [esp + 0x4c]
mov esi, dword [esp + 0x30]
dec ecx
call fcn.004358a0
mov dl, byte [esp + 0x4c]
lea eax, [esp + 0x78]
mov esi, 1
mov byte [esp + 0x78], dl
mov dword [esp + 0x14], eax
jmp 0x435475
cmp byte [esp + 0x12], 0
je 0x43522f
mov eax, dword [esp + 0x3c]
call fcn.004345a0
mov dword [esp + 0x14], eax
mov cl, 5
jmp 0x435244
mov ecx, dword [ebx]
add ebx, 4
mov dword [esp + 0x14], ecx
mov cl, byte [esp + 0x13]
mov eax, dword [esp + 0x14]
mov dword [esp + 0x34], ebx
test eax, eax
jne 0x435256
mov dword [esp + 0x14], 0x6021c6
mov eax, dword [esp + 0x14]
jmp 0x43525f
cmp cl, 6
jne 0x43525f
mov dword [esp + 0x38], eax
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jl 0x43528b
xor esi, esi
test ecx, ecx
jle 0x435475
mov edx, dword [esp + 0x14]
cmp byte [esi + edx], 0
je 0x435475
inc esi
cmp esi, dword [esp + 0x1c]
jl 0x435271
jmp 0x435475
test eax, eax
je 0x435473
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x435296
sub eax, edx
and eax, 0x3fffffff
mov esi, eax
jmp 0x435475
cmp dl, 0xe
setne al
dec al
and al, 0xfb
add al, 0x27
cmp byte [esp + 0x12], 0
mov byte [esp + 0x24], al
je 0x4352cd
mov eax, dword [esp + 0x3c]
call fcn.004345a0
jmp 0x4352d6
mov eax, dword [ebx]
add ebx, 4
mov dword [esp + 0x34], ebx
xor ecx, ecx
xor edi, edi
cmp eax, edi
sete cl
mov dword [esp + 0x50], eax
mov esi, ecx
cmp esi, edi
je 0x435300
cmp byte [esp + 0x13], 0xa
mov dword [esp + 0x50], str.NULL
je 0x435300
mov dword [esp + 0x50], str._NULL_
mov eax, dword [esp + 0x1c]
xor edx, edx
xor ebx, ebx
mov ecx, eax
cmp eax, edi
je 0x435328
mov edi, edi
mov eax, dword [esp + 0x50]
mov al, byte [ebx + eax]
test al, al
je 0x435328
cmp al, byte [esp + 0x24]
jne 0x435322
inc edx
inc ebx
sub ecx, 1
jne 0x435310
cmp esi, edi
jne 0x43533b
cmp byte [esp + 0x13], 0xa
mov dword [esp + 0x58], 1
je 0x43533f
mov dword [esp + 0x58], edi
lea eax, [edx + ebx + 3]
cmp eax, 0x46
jle 0x435375
cdq
mov ecx, eax
or ecx, edx
je 0x43535f
push edx
push eax
call fcn.00433a80
add esp, 8
mov dword [esp + 0x38], eax
jmp 0x435365
mov dword [esp + 0x38], edi
mov eax, edi
mov edi, eax
mov dword [esp + 0x14], edi
test eax, eax
je 0x4356e9
jmp 0x43537f
lea edx, [esp + 0x78]
mov dword [esp + 0x14], edx
mov edi, edx
mov dl, byte [esp + 0x24]
xor esi, esi
cmp dword [esp + 0x58], esi
je 0x435392
mov byte [edi], dl
mov esi, 1
xor ecx, ecx
test ebx, ebx
jle 0x4353b8
jmp 0x4353a0
mov eax, dword [esp + 0x50]
mov al, byte [ecx + eax]
mov byte [esi + edi], al
inc esi
cmp al, dl
jne 0x4353b3
mov byte [esi + edi], al
inc esi
inc ecx
cmp ecx, ebx
jl 0x4353a0
cmp dword [esp + 0x58], 0
je 0x4353c3
mov byte [esi + edi], dl
inc esi
mov byte [esi + edi], 0
jmp 0x435475
mov ecx, dword [esp + 0x30]
test byte [ecx + 0x19], 1
je case.default.0x43492e
add ebx, 4
mov dword [esp + 0x34], ebx
mov ebx, dword [ebx - 4]
xor esi, esi
cmp ebx, esi
je 0x4353f8
mov eax, dword [ebx + 4]
cmp eax, esi
je 0x4353f8
mov edx, dword [ebx]
call fcn.00435920
mov dword [esp + 0x28], esi
jmp 0x435475
mov esi, dword [esp + 0x30]
test byte [esi + 0x19], 1
je case.default.0x43492e
mov eax, dword [ebx]
add ebx, 4
add ebx, 4
mov dword [esp + 0x34], ebx
mov ebx, dword [ebx - 4]
lea ecx, [ebx + ebx*4]
shl ecx, 4
mov edx, dword [ecx + eax + 0xc]
lea ebx, [ecx + eax + 8]
test edx, edx
je 0x435461
mov eax, esi
call fcn.00435960
mov eax, dword [esi + 0xc]
inc eax
cmp eax, dword [esi + 0x10]
jb 0x435451
push 0x603290
mov eax, 1
call fcn.004358f0
add esp, 4
jmp 0x435461
mov edx, dword [esi + 8]
mov dword [esi + 0xc], eax
mov cl, byte [0x603290]
mov byte [edx + eax - 1], cl
mov edx, dword [ebx + 8]
mov eax, esi
call fcn.00435960
mov dword [esp + 0x28], 0
xor esi, esi
mov eax, dword [esp + 0x28]
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x30]
sub eax, esi
mov dword [esp + 0x28], eax
test eax, eax
jle 0x4355a2
cmp byte [esp + 0x26], 0
jne 0x4354ea
mov edi, dword [ebx + 0xc]
mov ecx, eax
cdq
add edi, eax
mov dword [esp + 0x6c], 0
mov eax, dword [esp + 0x6c]
adc eax, edx
xor edx, edx
cmp eax, edx
jl 0x4354ce
jg 0x4354b9
cmp edi, dword [ebx + 0x10]
jb 0x4354ce
mov edx, dword [esp + 0x28]
push edx
mov eax, ebx
call fcn.00435790
mov ecx, eax
add esp, 4
test ecx, ecx
jle 0x4354e6
mov eax, 1
mov edi, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
sub ecx, eax
mov byte [edx + edi], 0x20
add dword [ebx + 0xc], eax
test ecx, ecx
jg 0x4354d3
mov edi, dword [esp + 0x18]
mov eax, dword [ebx + 0xc]
add eax, esi
cmp eax, dword [ebx + 0x10]
jb 0x435507
mov ecx, dword [esp + 0x14]
mov eax, esi
push ecx
mov esi, ebx
call fcn.004358f0
add esp, 4
jmp 0x435524
test esi, esi
je 0x435524
mov ecx, dword [ebx + 8]
mov edx, dword [esp + 0x14]
push esi
sub ecx, esi
push edx
add ecx, eax
push ecx
mov dword [ebx + 0xc], eax
call fcn.00596f90
add esp, 0xc
cmp byte [esp + 0x26], 0
je 0x43557b
mov ecx, dword [esp + 0x28]
mov edi, dword [ebx + 0xc]
mov eax, ecx
cdq
xor esi, esi
add edi, eax
adc esi, edx
mov edx, dword [ebx + 0x10]
xor eax, eax
cmp esi, eax
jl 0x43555f
jg 0x43554a
cmp edi, edx
jb 0x43555f
mov edx, dword [esp + 0x28]
push edx
mov eax, ebx
call fcn.00435790
mov ecx, eax
add esp, 4
test ecx, ecx
jle 0x435577
mov eax, 1
mov esi, dword [ebx + 0xc]
mov edx, dword [ebx + 8]
sub ecx, eax
mov byte [edx + esi], 0x20
add dword [ebx + 0xc], eax
test ecx, ecx
jg 0x435564
mov edi, dword [esp + 0x18]
mov eax, dword [esp + 0x38]
test eax, eax
je 0x43566c
mov ebx, dword [ebx]
test ebx, ebx
je 0x435604
cmp dword [ebx + 0x1c8], 0
je 0x4355de
mov ecx, ebx
call fcn.00433e00
jmp 0x435664
mov eax, dword [ebx + 0xc]
add eax, esi
cmp eax, dword [ebx + 0x10]
jb 0x4355bf
mov ecx, dword [esp + 0x14]
mov eax, esi
push ecx
mov esi, ebx
call fcn.004358f0
add esp, 4
jmp 0x43557b
test esi, esi
je 0x43557b
mov ecx, dword [ebx + 8]
mov edx, dword [esp + 0x14]
push esi
sub ecx, esi
push edx
add ecx, eax
push ecx
mov dword [ebx + 0xc], eax
call fcn.00596f90
add esp, 0xc
jmp 0x43557b
cmp eax, dword [ebx + 0x120]
jb 0x435604
cmp eax, dword [ebx + 0x124]
jae 0x435604
mov edx, dword [ebx + 0x11c]
mov dword [eax], edx
dec dword [ebx + 0x108]
mov dword [ebx + 0x11c], eax
jmp 0x435664
cmp dword [0x66c5f0], 0
je 0x435656
mov eax, dword [0x672720]
test eax, eax
je 0x435620
push eax
call dword [0x66c648]
add esp, 4
mov esi, dword [esp + 0x38]
push esi
call dword [0x66c624]
sub dword [0x672568], eax
dec dword [0x67258c]
add esp, 4
push esi
call dword [0x66c61c]
mov eax, dword [0x672720]
add esp, 4
test eax, eax
je 0x435664
push eax
call dword [0x66c650]
jmp 0x435661
mov eax, dword [esp + 0x38]
push eax
call dword [0x66c61c]
add esp, 4
mov dword [esp + 0x38], 0
movsx eax, byte [edi + 1]
inc edi
test eax, eax
jne 0x434660
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb8]
xor ecx, esp
call fcn.00590c4b
mov esp, ebp
pop ebp
ret
mov eax, dword [edx + 0xc]
inc eax
cmp eax, dword [edx + 0x10]
jb 0x4356c2
mov esi, dword [esp + 0x30]
push 0x602200
mov eax, 1
call fcn.004358f0
add esp, 4
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb8]
xor ecx, esp
call fcn.00590c4b
mov esp, ebp
pop ebp
ret
mov ecx, dword [edx + 8]
mov dword [edx + 0xc], eax
mov dl, byte [0x602200]
mov byte [ecx + eax - 1], dl
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0xb8]
xor ecx, esp
call fcn.00590c4b
mov esp, ebp
pop ebp
ret
fstp st(0)
mov eax, dword [esp + 0x30]
mov byte [eax + 0x18], 1
mov dword [eax + 0x10], 0
mov ecx, dword [esp + 0xc4]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.00590c4b
mov esp, ebp
pop ebp
ret