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

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x11c
mov eax, dword [0x50a0b0]
xor eax, esp
mov dword [esp + 0x118], eax
mov edx, dword [ebp + 0x14]
xor eax, eax
push ebx
mov ebx, dword [ebp + 8]
xor ecx, ecx
push esi
mov esi, dword [ebp + 0x10]
push edi
mov dword [esp + 0x6c], eax
xor edi, edi
mov eax, dword [ebp + 0xc]
mov dword [esp + 0x40], ebx
mov dword [esp + 0x38], edx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x2c], edi
mov dword [esp + 0x7c], eax
test eax, eax
je 0x472baf
mov cl, al
and cl, 2
mov byte [esp + 0x22], cl
je 0x472ba7
mov eax, dword [edx]
add edx, 4
mov dword [esp + 0x6c], eax
mov eax, dword [esp + 0x7c]
mov dword [esp + 0x38], edx
and al, 1
mov dword [esp + 0x7c], eax
jmp 0x472bb7
mov byte [esp + 0x7c], cl
mov byte [esp + 0x22], cl
movsx eax, byte [esi]
test eax, eax
je case.default.0x472f20
fldz
fstp qword [esp + 0x80]
fld qword [0x4f32e0]
fstp qword [esp + 0xa0]
fld qword [0x4f32d8]
fstp qword [esp + 0x98]
fld1
fstp qword [esp + 0xa8]
fld qword [0x4f33a8]
fstp qword [esp + 0xb0]
fld qword [0x4f3398]
fstp qword [esp + 0xb8]
fld qword [0x4f3370]
fstp qword [esp + 0xc0]
fld qword [0x4f32f8]
fstp qword [esp + 0x88]
fld qword [0x4f32d0]
fstp qword [esp + 0xc8]
nop
cmp eax, 0x25
je 0x472c8e
mov ebx, esi
mov dword [esp + 0x2c], ebx
jmp 0x472c40
mov al, byte [esi + 1]
inc esi
test al, al
je 0x472c4c
cmp al, 0x25
jne 0x472c40
mov ecx, dword [esp + 0x40]
mov edx, esi
sub edx, ebx
push edx
push ebx
mov edi, dword [ecx + 0xc]
mov ebx, ecx
add edi, edx
cmp edi, dword [ecx + 0x10]
jl 0x472c6a
push ebx
call fcn.0042c080
jmp 0x472c7a
mov eax, dword [ebx + 8]
sub eax, edx
mov dword [ecx + 0xc], edi
add eax, edi
push eax
call fcn.004c1700
add esp, 0xc
cmp byte [esi], 0
je case.default.0x472f20
mov edi, dword [esp + 0x2c]
mov edx, dword [esp + 0x38]
movsx ecx, byte [esi + 1]
inc esi
test ecx, ecx
je 0x4750bd
mov byte [esp + 0x57], 0
mov byte [esp + 0x47], 0
mov byte [esp + 0x3d], 0
mov byte [esp + 0x17], 0
mov byte [esp + 0x56], 0
mov byte [esp + 0xf], 0
lea esp, [esp]
lea eax, [ecx - 0x20]
cmp eax, 0x10
ja case.0x472ccf.34
movzx eax, byte [eax + 0x475128]
jmp dword [eax*4 + 0x47510c]
mov byte [esp + 0xf], 1
jmp 0x472cfe
mov byte [esp + 0x56], 1
jmp 0x472cfe
mov byte [esp + 0x17], 1
jmp 0x472cfe
mov byte [esp + 0x3d], 1
jmp 0x472cfe
mov byte [esp + 0x47], 1
jmp 0x472cfe
mov byte [esp + 0x57], 1
movsx ecx, byte [esi + 1]
inc esi
test ecx, ecx
jne 0x472cc0
mov dword [esp + 0x68], esi
cmp ecx, 0x2a
jne 0x472d8e
cmp byte [esp + 0x22], 0
je 0x472d4d
mov ebx, dword [esp + 0x6c]
mov edx, dword [ebx + 4]
cmp dword [ebx], edx
jg 0x472d2e
mov edx, dword [esp + 0x38]
xor eax, eax
mov dword [esp + 0x34], eax
jmp 0x472d56
mov eax, dword [ebx + 8]
mov ecx, dword [eax + edx*4]
lea eax, [edx + 1]
push ecx
mov dword [ebx + 4], eax
call fcn.0047e160
mov dword [esp + 0x38], edx
add esp, 4
mov edx, dword [esp + 0x38]
jmp 0x472d56
mov eax, dword [edx]
add edx, 4
mov dword [esp + 0x38], edx
mov dword [esp + 0x24], eax
test eax, eax
jns 0x472d83
mov byte [esp + 0xf], 1
cmp eax, 0x80000001
jl 0x472d7b
movsx ecx, byte [esi + 1]
neg eax
inc esi
mov dword [esp + 0x24], eax
mov dword [esp + 0x68], esi
jmp 0x472dc7
mov dword [esp + 0x24], 0
movsx ecx, byte [esi + 1]
inc esi
mov dword [esp + 0x68], esi
jmp 0x472dc7
xor eax, eax
cmp ecx, 0x30
jl 0x472dbe
mov edi, eax
cmp ecx, 0x39
ja 0x472dae
lea edi, [edi + edi*4]
inc esi
lea edi, [edi - 0x18]
lea edi, [ecx + edi*2]
movsx ecx, byte [esi]
cmp ecx, 0x30
jge 0x472d97
mov dword [esp + 0x24], edi
mov edi, dword [esp + 0x2c]
mov eax, dword [esp + 0x24]
mov dword [esp + 0x68], esi
and eax, 0x7fffffff
mov dword [esp + 0x24], eax
cmp ecx, 0x2e
jne 0x472e69
movsx ecx, byte [esi + 1]
inc esi
mov dword [esp + 0x68], esi
cmp ecx, 0x2a
jne 0x472e3f
cmp byte [esp + 0x22], 0
je 0x472e19
mov ebx, dword [esp + 0x6c]
mov edx, dword [ebx + 4]
cmp dword [ebx], edx
jg 0x472df8
xor ebx, ebx
mov dword [esp + 0x34], ebx
jmp 0x472e22
mov eax, dword [ebx + 8]
mov ecx, dword [eax + edx*4]
lea eax, [edx + 1]
push ecx
mov dword [ebx + 4], eax
call fcn.0047e160
add esp, 4
mov dword [esp + 0x1c], eax
mov ebx, eax
mov dword [esp + 0x34], edx
jmp 0x472e26
mov ebx, dword [edx]
add edx, 4
mov dword [esp + 0x38], edx
mov dword [esp + 0x1c], ebx
movsx ecx, byte [esi + 1]
inc esi
mov dword [esp + 0x68], esi
test ebx, ebx
jns 0x472e70
cmp ebx, 0x80000001
jl 0x472e69
neg ebx
jmp 0x472e6c
xor ebx, ebx
cmp ecx, 0x30
jl 0x472e61
cmp ecx, 0x39
ja 0x472e5d
lea ebx, [ebx + ebx*4]
inc esi
lea ebx, [ebx - 0x18]
lea ebx, [ecx + ebx*2]
movsx ecx, byte [esi]
cmp ecx, 0x30
jge 0x472e46
mov dword [esp + 0x68], esi
and ebx, 0x7fffffff
jmp 0x472e6c
or ebx, 0xffffffff
mov dword [esp + 0x1c], ebx
mov eax, esi
cmp ecx, 0x6c
jne 0x472ead
mov dl, byte [esi + 1]
inc esi
mov byte [esp + 0x3f], 1
mov dword [esp + 0x68], esi
cmp dl, cl
jne 0x472e9e
add eax, 2
cmp dl, 0x6c
mov dword [esp + 0x68], eax
sete byte [esp + 0x3e]
mov al, byte [eax]
movsx ecx, al
jmp 0x472eb7
cmp dl, 0x6c
mov al, dl
movsx ecx, al
sete byte [esp + 0x3e]
jmp 0x472eb7
mov byte [esp + 0x3e], 0
mov byte [esp + 0x3f], 0
mov dword [esp + 0x28], 0x4ee028
xor esi, esi
mov byte [esp + 0x23], 0
mov edx, 0x4ee028
jmp 0x472ed0
movsx eax, byte [edx]
cmp ecx, eax
je 0x472eed
add edx, 6
inc esi
cmp edx, 0x4ee0b2
jl 0x472ed0
mov dl, byte [esp + 0x23]
mov esi, dword [esp + 0x28]
jmp 0x472f13
cmp byte [esp + 0x7c], 0
lea eax, [esi + esi*2]
lea esi, [eax*2 + 0x4ee028]
mov dword [esp + 0x28], esi
jne 0x472f0c
test byte [esi + 2], 2
jne case.default.0x472f20
mov dl, byte [esi + 3]
mov byte [esp + 0x23], dl
movzx eax, dl
dec eax
cmp eax, 0xf
ja case.default.0x472f20
jmp dword [eax*4 + 0x47513c]
xor al, al
mov cl, 1
jmp 0x472f35
mov al, byte [esp + 0x3e]
mov cl, byte [esp + 0x3f]
test byte [esi + 2], 1
je 0x473000
cmp byte [esp + 0x22], 0
je 0x472f86
mov esi, dword [esp + 0x6c]
mov edx, dword [esi + 4]
cmp dword [esi], edx
jg 0x472f6f
xor esi, esi
xor ecx, ecx
cmp byte [esp + 0x56], 0
mov dword [esp + 0x18], esi
mov dword [esp + 0x10], ecx
je 0x472ff3
mov dl, 0x2b
jmp 0x47307e
mov eax, dword [esi + 8]
mov ecx, dword [eax + edx*4]
lea eax, [edx + 1]
push ecx
mov dword [esi + 4], eax
call fcn.0047e160
add esp, 4
jmp 0x472fb4
test al, al
je 0x472f9d
mov ecx, dword [esp + 0x38]
add ecx, 8
mov dword [esp + 0x38], ecx
mov esi, dword [ecx - 8]
mov ecx, dword [ecx - 4]
jmp 0x472fb8
mov eax, dword [esp + 0x38]
add eax, 4
mov dword [esp + 0x38], eax
test cl, cl
jne 0x472fb0
mov dword [esp + 0x38], eax
mov eax, dword [eax - 4]
cdq
mov esi, eax
mov ecx, edx
test ecx, ecx
jg 0x472f55
jl 0x472fc2
test esi, esi
jae 0x472f55
test esi, esi
jne 0x472fdd
cmp ecx, 0x80000000
jne 0x472fdd
mov dword [esp + 0x10], ecx
mov dl, 0x2d
mov dword [esp + 0x18], esi
jmp 0x47307e
neg esi
mov dl, 0x2d
mov dword [esp + 0x18], esi
adc ecx, 0
neg ecx
mov dword [esp + 0x10], ecx
jmp 0x47307e
mov dl, byte [esp + 0x17]
neg dl
sbb dl, dl
and dl, 0x20
jmp 0x47307e
cmp byte [esp + 0x22], 0
je 0x473045
mov esi, dword [esp + 0x6c]
mov edx, dword [esi + 4]
cmp dword [esi], edx
jg 0x473022
xor eax, eax
mov dword [esp + 0x10], eax
mov esi, eax
mov dword [esp + 0x18], eax
mov ecx, eax
jmp 0x47307c
mov eax, dword [esi + 8]
mov ecx, dword [eax + edx*4]
lea eax, [edx + 1]
push ecx
mov dword [esi + 4], eax
call fcn.0047e160
add esp, 4
mov dword [esp + 0x10], edx
mov dword [esp + 0x18], eax
mov esi, eax
mov ecx, edx
jmp 0x47307c
test al, al
je 0x47305c
mov ecx, dword [esp + 0x38]
add ecx, 8
mov dword [esp + 0x38], ecx
mov esi, dword [ecx - 8]
mov ecx, dword [ecx - 4]
jmp 0x473074
mov eax, dword [esp + 0x38]
add eax, 4
mov dword [esp + 0x38], eax
mov esi, dword [eax - 4]
test cl, cl
jne 0x473072
mov dword [esp + 0x38], eax
xor ecx, ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x10], ecx
xor dl, dl
mov eax, esi
mov byte [esp + 0x17], dl
or eax, ecx
jne 0x47308c
mov byte [esp + 0x3d], al
cmp byte [esp + 0x57], 0
je 0x4730a9
mov ecx, dword [esp + 0x24]
xor eax, eax
test dl, dl
setne al
sub ecx, eax
cmp ebx, ecx
cmovl ebx, ecx
mov dword [esp + 0x1c], ebx
cmp ebx, 0x3c
jge 0x4730c4
mov ebx, 0x46
lea eax, [esp + 0xd8]
mov dword [esp + 0x58], ebx
mov dword [esp + 0x70], eax
jmp 0x4730ea
add ebx, 0xa
mov eax, ebx
mov dword [esp + 0x58], ebx
cdq
push edx
push eax
call fcn.00461c40
mov ecx, eax
mov dword [esp + 0x78], eax
add esp, 8
mov dword [esp + 0x64], ecx
test ecx, ecx
je 0x475099
lea edi, [ebx - 1]
add edi, eax
cmp byte [esp + 0x23], 0x10
mov dword [esp + 0x2c], edi
jne 0x4731a3
mov ecx, 0xcccccccd
mov eax, esi
mul ecx
lea ebx, [ecx - 1]
mov dword [esp + 0x30], eax
mov esi, edx
mov eax, dword [esp + 0x18]
mul ebx
mov edi, eax
mov dword [esp + 0x48], edx
mov eax, dword [esp + 0x10]
mul ecx
mov ecx, eax
mov ebx, edx
mov eax, dword [esp + 0x10]
mov edx, 0xcccccccc
mul edx
add ecx, esi
mov esi, dword [esp + 0x18]
mov dword [esp + 0x30], eax
adc ebx, 0
add edi, ecx
mov ecx, dword [esp + 0x48]
adc ecx, 0
mov dword [esp + 0xd0], edi
xor eax, eax
add ebx, ecx
mov ecx, dword [esp + 0x30]
adc eax, eax
add ecx, ebx
mov ebx, esi
adc edx, eax
shrd ecx, edx, 3
shr edx, 3
lea eax, [ecx + ecx*4]
add eax, eax
sub ebx, eax
cmp ebx, 4
jge 0x473185
push 0
push 0xa
push edx
push ecx
call fcn.004bff20
cmp eax, 1
jne 0x473187
test edx, edx
jne 0x473187
xor ebx, ebx
mov edi, dword [esp + 0x2c]
movzx eax, byte [ebx*2 + 0x4ee0b5]
mov byte [edi - 1], al
sub edi, 2
movzx eax, byte [ebx*2 + str.thstndrd]
mov byte [edi], al
mov ecx, dword [esp + 0x28]
movzx eax, byte [ecx + 4]
add eax, str.0123456789ABCDEF0123456789abcdef
mov dword [esp + 0x30], eax
movzx eax, byte [ecx + 1]
cdq
mov ecx, eax
mov eax, edx
mov edx, dword [esp + 0x10]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x48], eax
lea esp, [esp]
push eax
push ecx
push edx
push esi
dec edi
call fcn.004bfe80
mov dword [esp + 0xd4], ebx
mov esi, eax
mov eax, dword [esp + 0x30]
mov al, byte [ecx + eax]
mov ecx, dword [esp + 0x18]
mov byte [edi], al
mov eax, dword [esp + 0x48]
test edx, edx
ja 0x4731d0
jb 0x4731fe
test esi, esi
jne 0x4731d0
mov eax, dword [esp + 0x1c]
mov edx, dword [esp + 0x70]
sub eax, edx
mov esi, dword [esp + 0x58]
sub eax, esi
inc eax
mov dword [esp + 0x2c], edi
add eax, edi
test eax, eax
jle 0x47322d
lea esp, [esp]
dec edi
dec eax
mov byte [edi], 0x30
test eax, eax
jg 0x473220
mov dword [esp + 0x2c], edi
mov al, byte [esp + 0x17]
test al, al
je 0x47323c
dec edi
mov dword [esp + 0x2c], edi
mov byte [edi], al
cmp byte [esp + 0x3d], 0
je 0x473270
mov eax, dword [esp + 0x28]
mov al, byte [eax + 5]
test al, al
je 0x473270
movzx eax, al
add eax, 0x4ee020
mov cl, byte [eax]
test cl, cl
je 0x473270
lea esp, [esp]
dec edi
lea eax, [eax + 1]
mov byte [edi], cl
mov cl, byte [eax]
test cl, cl
jne 0x473260
mov dword [esp + 0x2c], edi
sub edx, edi
dec esi
add esi, edx
jmp 0x473cba
cmp byte [esp + 0x22], 0
je 0x4732fb
mov esi, dword [esp + 0x6c]
mov edx, dword [esi + 4]
cmp dword [esi], edx
jle 0x4732ee
mov eax, dword [esi + 8]
mov ecx, dword [eax + edx*4]
lea eax, [edx + 1]
mov dword [esi + 4], eax
movzx eax, word [ecx + 8]
test al, 8
je 0x4732a8
fld qword [ecx]
mov dl, byte [esp + 0x23]
jmp 0x473309
test al, 4
je 0x4732b4
fild qword [ecx]
mov dl, byte [esp + 0x23]
jmp 0x473309
test al, 0x12
je 0x4732ee
movzx eax, byte [ecx + 0xa]
fld qword [esp + 0x80]
push eax
push dword [ecx + 0xc]
lea eax, [esp + 0x98]
push eax
push dword [ecx + 0x10]
fstp qword [esp + 0xa0]
call fcn.00449200
fld qword [esp + 0xa0]
add esp, 0x10
mov dl, byte [esp + 0x23]
jmp 0x473309
fld qword [esp + 0x80]
mov dl, byte [esp + 0x23]
jmp 0x473309
mov ecx, dword [esp + 0x38]
add ecx, 8
mov dword [esp + 0x38], ecx
fld qword [ecx - 8]
test ebx, ebx
mov eax, 6
fst qword [esp + 0x30]
fld qword [esp + 0x80]
cmovs ebx, eax
fcomi st(1)
mov dword [esp + 0x1c], ebx
jbe 0x473335
fxch st(1)
mov byte [esp + 0x17], 0x2d
fchs
fst qword [esp + 0x30]
jmp 0x473353
cmp byte [esp + 0x56], 0
je 0x473343
mov byte [esp + 0x17], 0x2b
jmp 0x473351
mov al, byte [esp + 0x17]
neg al
sbb al, al
and al, 0x20
mov byte [esp + 0x17], al
fxch st(1)
cmp dl, 4
jne 0x473361
test ebx, ebx
je 0x473361
dec ebx
mov dword [esp + 0x1c], ebx
fld qword [esp + 0xa0]
mov ecx, ebx
fld qword [esp + 0x98]
and ecx, 0xfff
cmp ecx, 8
jb 0x4733a3
lea edx, [ecx - 8]
shr edx, 3
inc edx
mov eax, edx
neg eax
lea ecx, [ecx + eax*8]
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)
sub edx, 1
jne 0x47338a
mov dl, byte [esp + 0x23]
test ecx, ecx
jle 0x4733ae
dec ecx
fmul st(1), st(0)
test ecx, ecx
jg 0x4733a7
cmp dl, 2
jne 0x4733bf
fld st(1)
faddp st(3)
fxch st(2)
fst qword [esp + 0x30]
fxch st(2)
fxch st(2)
xor edi, edi
fst qword [esp + 0x58]
fld qword [esp + 0x58]
fstp qword [esp + 0x70]
fld qword [esp + 0x70]
fld qword [esp + 0x58]
fucompi st(1)
mov dword [esp + 0x18], edi
fstp st(0)
lahf
test ah, 0x44
jnp 0x4733fd
fstp st(0)
mov dword [esp + 0x2c], 0x4ef8c8
fstp st(0)
lea esi, [edi + 3]
fstp st(0)
fstp st(0)
jmp 0x473cba
fcomi st(3)
fstp st(3)
jbe 0x473603
fld qword [esp + 0xa8]
fld st(0)
fld qword [esp + 0xb0]
fxch st(5)
fcomi st(5)
jae 0x4734ed
fstp st(5)
fld st(0)
fld qword [esp + 0xb8]
fmul st(1), st(0)
fxch st(6)
fcomi st(1)
jae 0x473526
fstp st(1)
fstp st(5)
fld st(0)
fld qword [esp + 0xc0]
fmul st(1), st(0)
fxch st(6)
fcomi st(1)
jae 0x47355f
fstp st(1)
fld st(1)
fld qword [esp + 0x88]
fmul st(1), st(0)
fxch st(2)
fcomi st(1)
jae 0x473594
fstp st(1)
fdivrp st(2)
fxch st(1)
fst qword [esp + 0x30]
fld qword [esp + 0xc8]
fcomi st(1)
jbe 0x4735c1
fxch st(1)
sub edi, 8
fmul st(6)
fxch st(1)
fcomi st(1)
ja 0x473481
fstp st(0)
mov dword [esp + 0x18], edi
fstp st(5)
fxch st(4)
fst qword [esp + 0x30]
fxch st(4)
fxch st(1)
fcomi st(4)
jbe 0x4735ca
fxch st(4)
dec edi
fmul st(1)
fxch st(4)
fcomi st(4)
ja 0x4734a8
fstp st(0)
mov dword [esp + 0x18], edi
fxch st(3)
fst qword [esp + 0x30]
fxch st(3)
cmp edi, 0x15e
jle 0x47360a
mov al, byte [esp + 0x17]
fstp st(3)
fstp st(0)
fstp st(0)
fstp st(0)
cmp al, 0x2d
jne 0x4735d1
mov edi, str._Inf
jmp 0x4735e0
fxch st(1)
cmp edi, 0x15e
jg 0x473515
fxch st(1)
add edi, 0x64
fmul st(5)
fld st(0)
fmul st(6)
fxch st(2)
fcomi st(2)
fstp st(2)
jae 0x4734eb
fstp st(5)
mov dword [esp + 0x18], edi
fxch st(4)
jmp 0x473423
fstp st(5)
mov dword [esp + 0x18], edi
jmp 0x473423
fxch st(1)
fxch st(2)
fxch st(1)
cmp edi, 0x15e
jg 0x47354c
fstp st(2)
add edi, 0x40
fld st(0)
fmul st(6)
fxch st(2)
fcomi st(2)
jae 0x473520
fstp st(2)
mov dword [esp + 0x18], edi
fstp st(5)
fxch st(4)
jmp 0x47343c
fstp st(1)
mov dword [esp + 0x18], edi
fstp st(5)
jmp 0x47343c
fxch st(1)
fxch st(2)
fxch st(1)
cmp edi, 0x15e
jg 0x473583
fstp st(2)
add edi, 8
fld st(0)
fmul st(6)
fxch st(2)
fcomi st(2)
jae 0x473559
fstp st(2)
mov dword [esp + 0x18], edi
fxch st(1)
jmp 0x473453
fstp st(1)
mov dword [esp + 0x18], edi
jmp 0x473453
fxch st(1)
fxch st(3)
fxch st(1)
cmp edi, 0x15e
jg 0x4735b6
fstp st(3)
inc edi
fld st(0)
fmul st(2)
fxch st(3)
fcomi st(3)
jae 0x47358e
fstp st(3)
mov dword [esp + 0x18], edi
fxch st(2)
jmp 0x47346a
fstp st(1)
mov dword [esp + 0x18], edi
jmp 0x47346a
fstp st(0)
fstp st(5)
jmp 0x47349e
fstp st(0)
jmp 0x4734c1
cmp al, 0x2b
mov edi, str.Inf
mov eax, 0x4ef8dc
cmovne edi, eax
cmp byte [edi], 0
mov esi, edi
mov dword [esp + 0x2c], edi
je 0x4735f6
jmp 0x4735f0
inc esi
cmp byte [esi], 0
jne 0x4735f0
sub esi, edi
and esi, 0x3fffffff
jmp 0x473cba
fld qword [esp + 0x88]
lea esi, [esp + 0xd8]
cmp dl, 2
je 0x473665
fxch st(1)
faddp st(3)
fxch st(2)
fst qword [esp + 0x30]
fcomi st(2)
fstp st(2)
jb 0x473633
fmulp st(1)
inc edi
mov dword [esp + 0x18], edi
fstp qword [esp + 0x30]
jmp 0x473637
fstp st(1)
fstp st(0)
cmp dl, 4
jne 0x47366d
cmp byte [esp + 0x3d], 0
sete byte [esp + 0x3f]
cmp edi, 0xfffffffc
jl 0x47365d
cmp edi, ebx
jg 0x47365d
sub ebx, edi
mov dl, 2
mov dword [esp + 0x1c], ebx
mov byte [esp + 0x23], dl
jmp 0x473675
mov dl, 3
mov byte [esp + 0x23], dl
jmp 0x473675
fstp st(3)
fstp st(0)
fstp st(0)
fstp st(0)
mov cl, byte [esp + 0x47]
mov byte [esp + 0x3f], cl
xor ecx, ecx
cmp dl, 3
cmovne ecx, edi
xor eax, eax
test ecx, ecx
mov dword [esp + 0x48], ecx
cmovg eax, ecx
cdq
mov dword [esp + 0x10], eax
mov eax, ebx
mov dword [esp + 0x2c], edx
cdq
add dword [esp + 0x10], eax
mov eax, dword [esp + 0x24]
adc dword [esp + 0x2c], edx
cdq
add dword [esp + 0x10], eax
adc dword [esp + 0x2c], edx
js 0x4736dc
mov eax, dword [esp + 0x10]
jg 0x4736b6
cmp eax, 0x37
jbe 0x4736dc
mov ecx, dword [esp + 0x2c]
add eax, 0xf
adc ecx, 0
push ecx
push eax
call fcn.00461c40
add esp, 8
mov dword [esp + 0x64], eax
mov esi, eax
test eax, eax
je 0x475099
mov ecx, dword [esp + 0x48]
movzx eax, byte [esp + 0x47]
test ebx, ebx
mov dl, byte [esp + 0x17]
mov dword [esp + 0x2c], esi
lea eax, [eax + eax*4]
lea eax, [eax*2 + 0x10]
mov dword [esp + 0x10], eax
setg al
or al, byte [esp + 0x47]
or al, byte [esp + 0x3d]
mov byte [esp + 0x3e], al
test dl, dl
je 0x47370f
mov byte [esi], dl
inc esi
test ecx, ecx
jns 0x473719
mov byte [esi], 0x30
inc esi
jmp 0x473774
fld qword [esp + 0x30]
fld qword [esp + 0x88]
mov ebx, dword [esp + 0x10]
mov dword [esp + 0x48], ecx
test ebx, ebx
jg 0x473734
mov al, 0x30
jmp 0x473756
fld st(1)
dec ebx
call fcn.004bfff0
mov ecx, dword [esp + 0x48]
mov dword [esp + 0x30], eax
add al, 0x30
fild dword [esp + 0x30]
fstp qword [esp + 0x30]
fld qword [esp + 0x30]
fsubp st(2)
fmul st(1), st(0)
mov byte [esi], al
inc esi
sub ecx, 1
mov dword [esp + 0x48], ecx
jns 0x47372c
mov al, byte [esp + 0x3e]
fstp st(0)
mov dword [esp + 0x10], ebx
mov ebx, dword [esp + 0x1c]
fstp qword [esp + 0x30]
test al, al
je 0x47377c
mov byte [esi], 0x2e
inc esi
add ecx, 1
jns 0x47379b
neg ecx
push ecx
push 0x30
push esi
mov dword [esp + 0x54], ecx
call fcn.004c2200
add esi, dword [esp + 0x54]
add esp, 0xc
sub ebx, dword [esp + 0x48]
test ebx, ebx
jle 0x4737e0
mov edi, dword [esp + 0x10]
dec ebx
test edi, edi
jg 0x4737ac
mov al, 0x30
jmp 0x4737d5
fld qword [esp + 0x30]
dec edi
fld st(0)
call fcn.004bfff0
mov dword [esp + 0x30], eax
add al, 0x30
fild dword [esp + 0x30]
fstp qword [esp + 0x30]
fsub qword [esp + 0x30]
fmul qword [esp + 0x88]
fstp qword [esp + 0x30]
mov byte [esi], al
inc esi
test ebx, ebx
jg 0x4737a3
mov edi, dword [esp + 0x18]
cmp byte [esp + 0x3f], 0
je 0x47381c
cmp byte [esp + 0x3e], 0
je 0x47381c
cmp byte [esi - 1], 0x30
lea eax, [esi - 1]
jne 0x473804
mov esi, eax
lea eax, [esi - 1]
mov byte [esi], 0
cmp byte [eax], 0x30
je 0x4737f7
cmp byte [esi - 1], 0x2e
jne 0x47381c
mov cl, byte [esp + 0x47]
test cl, cl
je 0x473818
mov byte [esi], 0x30
inc esi
jmp 0x47381c
dec esi
mov byte [esi], 0
mov ch, byte [esp + 0x23]
cmp ch, 3
jne 0x4738ab
mov eax, dword [esp + 0x28]
movzx eax, byte [eax + 4]
mov al, byte [eax + str.0123456789ABCDEF0123456789abcdef]
mov byte [esi], al
lea eax, [esi + 2]
mov dword [esp + 0x30], eax
mov eax, edi
cdq
mov ebx, eax
xor ebx, edx
sub ebx, edx
test edi, edi
mov edi, dword [esp + 0x30]
sets cl
lea ecx, [ecx*2 + 0x2b]
mov byte [esi + 1], cl
mov esi, edi
cmp ebx, 0x64
jl 0x473881
mov eax, 0x51eb851f
lea esi, [edi + 1]
imul ebx
sar edx, 5
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea eax, [ecx + 0x30]
mov byte [edi], al
imul eax, ecx, 0x64
sub ebx, eax
mov eax, 0x66666667
imul ebx
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add ecx, edx
lea eax, [ecx + 0x30]
mov byte [esi], al
mov al, cl
shl cl, 2
add al, cl
add al, al
sub bl, al
add bl, 0x30
mov byte [esi + 1], bl
add esi, 2
mov edi, dword [esp + 0x2c]
mov byte [esi], 0
sub esi, edi
cmp byte [esp + 0x57], 0
je 0x473cba
mov al, byte [esp + 0xf]
test al, al
jne 0x473cbe
mov eax, dword [esp + 0x24]
cmp esi, eax
jge 0x473cba
mov edx, eax
sub edx, esi
mov esi, eax
mov ecx, esi
cmp esi, edx
jl 0x4738f2
mov ebx, edi
sub ebx, edx
mov al, byte [ebx + ecx]
mov byte [ecx + edi], al
dec ecx
cmp ecx, edx
jge 0x4738e7
xor eax, eax
cmp byte [esp + 0x17], al
setne al
test edx, edx
je 0x473cba
push edx
add eax, edi
push 0x30
push eax
call fcn.004c2200
add esp, 0xc
jmp 0x473cba
cmp byte [esp + 0x22], 0
jne 0x473934
mov ecx, dword [esp + 0x38]
mov esi, dword [esp + 0x40]
add ecx, 4
mov dword [esp + 0x38], ecx
mov ecx, dword [ecx - 4]
mov eax, dword [esi + 0xc]
mov dword [ecx], eax
xor esi, esi
mov dword [esp + 0x24], esi
jmp 0x47436a
lea eax, [esp + 0xd8]
mov byte [esp + 0xd8], 0x25
mov dword [esp + 0x2c], eax
mov esi, 1
jmp 0x473cba
cmp byte [esp + 0x22], 0
je 0x4739b8
mov esi, dword [esp + 0x6c]
mov edx, dword [esi + 4]
cmp dword [esi], edx
jle 0x4739b4
mov eax, dword [esi + 8]
mov ecx, dword [eax + edx*4]
lea eax, [edx + 1]
mov dword [esi + 4], eax
test ecx, ecx
je 0x4739b4
movzx edx, word [ecx + 8]
mov eax, edx
and eax, 0x202
cmp eax, 0x202
jne 0x47399b
cmp byte [ecx + 0xa], 1
jne 0x47399b
mov eax, dword [ecx + 0x10]
jmp 0x4739ab
test dl, 1
jne 0x4739b4
push 1
push ecx
call fcn.00487c70
add esp, 8
test eax, eax
je 0x4739b4
movsx eax, byte [eax]
jmp 0x4739c6
xor eax, eax
jmp 0x4739c6
mov ecx, dword [esp + 0x38]
add ecx, 4
mov dword [esp + 0x38], ecx
mov eax, dword [ecx - 4]
mov dword [esp + 0x28], eax
cmp ebx, 1
jle 0x473a1a
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x40]
sub edi, ebx
mov eax, edi
inc edi
mov dword [esp + 0x24], edi
cmp edi, 1
jle 0x473a00
cmp byte [esp + 0xf], 0
jne 0x473a00
push 0x20
push eax
push esi
call fcn.00449120
add esp, 0xc
mov dword [esp + 0x24], 0
mov al, byte [esp + 0x28]
push eax
mov dword [esp + 0x34], eax
lea eax, [ebx - 1]
push eax
push esi
call fcn.00449120
mov eax, dword [esp + 0x3c]
add esp, 0xc
mov byte [esp + 0xd8], al
mov esi, 1
lea eax, [esp + 0xd8]
mov dword [esp + 0x2c], eax
jmp 0x473cba
mov al, byte [esp + 0x22]
test al, al
je 0x473aca
mov esi, dword [esp + 0x6c]
mov edx, dword [esi + 4]
cmp dword [esi], edx
jle 0x473ae0
mov eax, dword [esi + 8]
mov ecx, dword [eax + edx*4]
lea eax, [edx + 1]
mov dword [esi + 4], eax
test ecx, ecx
jne 0x473a71
mov dl, byte [esp + 0x23]
xor edi, edi
mov al, byte [esp + 0x22]
mov dword [esp + 0x2c], edi
jmp 0x473adc
movzx edx, word [ecx + 8]
mov eax, edx
and eax, 0x202
cmp eax, 0x202
jne 0x473a9a
cmp byte [ecx + 0xa], 1
jne 0x473a9a
mov edi, dword [ecx + 0x10]
mov dl, byte [esp + 0x23]
mov al, byte [esp + 0x22]
mov dword [esp + 0x2c], edi
jmp 0x473adc
test dl, 1
je 0x473aaf
mov dl, byte [esp + 0x23]
xor edi, edi
mov al, byte [esp + 0x22]
mov dword [esp + 0x2c], edi
jmp 0x473adc
push 1
push ecx
call fcn.00487c70
mov dl, byte [esp + 0x2b]
mov edi, eax
mov dword [esp + 0x34], eax
add esp, 8
mov al, byte [esp + 0x22]
jmp 0x473adc
mov ecx, dword [esp + 0x38]
add ecx, 4
mov dword [esp + 0x38], ecx
mov edi, dword [ecx - 4]
mov dword [esp + 0x2c], edi
test edi, edi
jne 0x473aeb
mov edi, 0x4e93f4
mov dword [esp + 0x2c], edi
jmp 0x473afd
cmp dl, 7
jne 0x473afd
mov ecx, dword [esp + 0x64]
test al, al
cmove ecx, edi
mov dword [esp + 0x64], ecx
test ebx, ebx
js 0x473b24
xor esi, esi
test ebx, ebx
jle 0x473cba
jmp 0x473b10
cmp byte [esi + edi], 0
je 0x473cba
inc esi
cmp esi, ebx
jl 0x473b10
jmp 0x473cba
mov esi, edi
test edi, edi
je 0x473cba
cmp byte [edi], 0
je 0x4735f6
inc esi
cmp byte [esi], 0
jne 0x473b37
sub esi, edi
and esi, 0x3fffffff
jmp 0x473cba
cmp dl, 0xf
mov eax, 0x27
mov ecx, 0x22
cmove eax, ecx
cmp byte [esp + 0x22], 0
mov dword [esp + 0x28], eax
je 0x473bbb
mov esi, dword [esp + 0x6c]
mov edx, dword [esi + 4]
cmp dword [esi], edx
jg 0x473b74
xor edi, edi
jmp 0x473bd3
mov eax, dword [esi + 8]
mov ecx, dword [eax + edx*4]
lea eax, [edx + 1]
mov dword [esi + 4], eax
test ecx, ecx
jne 0x473b88
xor eax, eax
jmp 0x473bc9
movzx edx, word [ecx + 8]
mov eax, edx
and eax, 0x202
cmp eax, 0x202
jne 0x473ba5
cmp byte [ecx + 0xa], 1
jne 0x473ba5
mov eax, dword [ecx + 0x10]
jmp 0x473bc9
test dl, 1
je 0x473bae
xor eax, eax
jmp 0x473bc9
push 1
push ecx
call fcn.00487c70
add esp, 8
jmp 0x473bc9
mov ecx, dword [esp + 0x38]
add ecx, 4
mov dword [esp + 0x38], ecx
mov eax, dword [ecx - 4]
mov dword [esp + 0x18], eax
mov edi, eax
test eax, eax
jne 0x473bed
mov ch, byte [esp + 0x23]
mov eax, str.NULL
cmp ch, 0xb
mov edx, str._NULL_
cmovne eax, edx
mov dword [esp + 0x18], eax
jmp 0x473bf1
mov ch, byte [esp + 0x23]
xor edx, edx
xor esi, esi
mov dword [esp + 0x58], edx
test ebx, ebx
je 0x473c21
lea ecx, [ecx]
mov cl, byte [edx + eax]
test cl, cl
je 0x473c1d
inc edx
lea eax, [esi + 1]
cmp cl, byte [esp + 0x28]
cmovne eax, esi
mov esi, eax
mov eax, dword [esp + 0x18]
sub ebx, 1
jne 0x473c00
mov dword [esp + 0x58], edx
test edi, edi
je 0x473c31
cmp ch, 0xb
jne 0x473c31
mov ebx, 1
jmp 0x473c33
xor ebx, ebx
lea eax, [ebx*2 + 1]
mov dword [esp + 0x70], ebx
add eax, edx
add eax, esi
cmp eax, 0x46
jle 0x473c6a
cdq
push edx
push eax
call fcn.00461c40
add esp, 8
mov dword [esp + 0x64], eax
mov dword [esp + 0x2c], eax
mov edi, eax
test eax, eax
je 0x475099
mov edx, dword [esp + 0x58]
jmp 0x473c75
lea edi, [esp + 0xd8]
mov dword [esp + 0x2c], edi
xor esi, esi
test ebx, ebx
je 0x473c86
mov eax, dword [esp + 0x28]
mov esi, 1
mov byte [edi], al
xor eax, eax
test edx, edx
jle 0x473caa
mov ebx, dword [esp + 0x18]
mov cl, byte [eax + ebx]
mov byte [esi + edi], cl
inc esi
cmp cl, byte [esp + 0x28]
jne 0x473ca1
mov byte [esi + edi], cl
inc esi
inc eax
cmp eax, edx
jl 0x473c90
mov ebx, dword [esp + 0x70]
test ebx, ebx
je 0x473cb6
mov eax, dword [esp + 0x28]
mov byte [esi + edi], al
inc esi
mov byte [esi + edi], 0
mov al, byte [esp + 0xf]
mov edi, dword [esp + 0x24]
sub edi, esi
mov dword [esp + 0x24], edi
test edi, edi
jle 0x474366
mov ebx, dword [esp + 0x40]
test al, al
jne 0x473e00
mov eax, dword [ebx + 0xc]
cdq
mov dword [esp + 0x10], eax
mov eax, edi
mov dword [esp + 0x28], edx
cdq
add eax, dword [esp + 0x10]
mov ecx, edx
mov dword [esp + 0x30], eax
mov eax, dword [ebx + 0x10]
adc ecx, dword [esp + 0x28]
cdq
mov dword [esp + 0x58], edi
cmp ecx, edx
jl 0x4741e3
jg 0x473d15
cmp dword [esp + 0x30], eax
jb 0x4741e3
cmp byte [ebx + 0x18], 0
jne 0x473e00
cmp dword [ebx + 0x14], 0
jne 0x473d44
mov edx, dword [ebx + 0x10]
sub edx, dword [ebx + 0xc]
dec edx
mov byte [ebx + 0x18], 2
mov dword [ebx + 0x10], 0
test edx, edx
jle 0x473e00
jmp 0x4741e7
mov ecx, dword [ebx + 8]
xor edx, edx
cmp ecx, dword [ebx + 4]
mov eax, ecx
mov ecx, dword [esp + 0x10]
cmove eax, edx
mov dword [esp + 0x18], eax
lea eax, [edi + 1]
cdq
add eax, ecx
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x28]
adc edx, eax
add ecx, dword [esp + 0x58]
mov dword [esp + 0x30], edx
adc eax, edx
mov dword [esp + 0x10], ecx
mov dword [esp + 0x28], eax
mov eax, dword [ebx + 0x14]
cdq
mov dword [esp + 0x70], eax
mov eax, dword [esp + 0x28]
mov dword [esp + 0x48], edx
cmp eax, edx
jg 0x473dbb
jl 0x473d97
cmp ecx, dword [esp + 0x70]
ja 0x473dbb
mov dword [esp + 0x34], eax
cmp dword [ebx], 0
mov dword [ebx + 0x10], ecx
je 0x473e09
mov eax, ecx
cdq
push edx
push eax
push dword [esp + 0x20]
push dword [ebx]
call fcn.004515f0
add esp, 0x10
jmp 0x4740b5
mov edx, dword [esp + 0x58]
mov ecx, edx
mov eax, dword [esp + 0x30]
mov dword [esp + 0x10], ecx
mov dword [esp + 0x34], eax
cmp eax, dword [esp + 0x48]
jl 0x473d9b
jg 0x473ddb
cmp edx, dword [esp + 0x70]
jbe 0x473d9b
mov eax, dword [ebx + 8]
cmp eax, dword [ebx + 4]
je 0x473dee
push eax
push dword [ebx]
call fcn.00451330
add esp, 8
mov dword [ebx + 8], 0
mov byte [ebx + 0x18], 2
mov dword [ebx + 0x10], 0
mov edi, dword [esp + 0x2c]
jmp 0x47436e
call fcn.00484960
test eax, eax
jne 0x47411a
mov ecx, dword [esp + 0x18]
mov eax, dword [esp + 0x10]
test ecx, ecx
jne 0x473f76
test eax, eax
je 0x473f67
cmp eax, 0x7fffff00
jae 0x473f67
cmp dword [section..data], ecx
je 0x473f54
mov ecx, dword [0x50bf70]
test ecx, ecx
je 0x473e5d
push ecx
call dword [0x509054]
mov eax, dword [esp + 0x14]
add esp, 4
push eax
call dword [0x509034]
mov ecx, dword [0x50be2c]
add esp, 4
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x10]
cmp eax, ecx
mov dword [0x50be04], eax
cmova ecx, eax
cmp dword [0x50bf80], 0
mov dword [0x50be2c], ecx
je 0x473edf
mov ecx, dword [esp + 0x58]
mov eax, ecx
mov ebx, dword [0x50bf78]
cdq
sub ebx, eax
mov eax, dword [0x50bf7c]
mov dword [esp + 0x30], ebx
sbb eax, edx
mov edx, dword [0x50bdf0]
xor ebx, ebx
cmp ebx, eax
mov ebx, dword [esp + 0x40]
jl 0x473ed5
jg 0x473ec0
cmp edx, dword [esp + 0x30]
jb 0x473ed5
push ecx
mov dword [0x50bf94], 1
call fcn.00461d70
add esp, 4
jmp 0x473edf
mov dword [0x50bf94], 0
push dword [esp + 0x58]
call dword [0x509024]
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
je 0x473f37
push eax
call dword [0x509030]
mov ecx, dword [0x50bdf0]
add esp, 4
add ecx, eax
mov eax, dword [0x50be18]
cmp ecx, eax
mov dword [0x50bdf0], ecx
cmova eax, ecx
mov ecx, dword [0x50be14]
inc ecx
mov dword [0x50be18], eax
mov eax, dword [0x50be3c]
cmp ecx, eax
mov dword [0x50be14], ecx
cmova eax, ecx
mov dword [0x50be3c], eax
mov ecx, dword [0x50bf70]
test ecx, ecx
je 0x473f6d
push ecx
call dword [0x50905c]
mov eax, dword [esp + 0x20]
add esp, 4
jmp 0x4740b9
push eax
call dword [0x509024]
add esp, 4
mov dword [esp + 0x1c], eax
jmp 0x4740b9
xor eax, eax
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x1c]
jmp 0x4740b9
test eax, eax
jne 0x473f8a
push ecx
call fcn.00418550
add esp, 4
xor eax, eax
jmp 0x4740b5
cmp eax, 0x7fffff00
jb 0x473f98
xor eax, eax
jmp 0x4740b5
push ecx
call dword [0x509030]
push dword [esp + 0x14]
mov dword [esp + 0x50], eax
call dword [0x509034]
add esp, 8
mov dword [esp + 0x28], eax
cmp dword [esp + 0x48], eax
jne 0x473fc3
mov eax, dword [esp + 0x18]
jmp 0x4740b5
cmp dword [section..data], 0
je 0x4740a7
mov eax, dword [0x50bf70]
test eax, eax
je 0x473fe3
push eax
call dword [0x509054]
add esp, 4
push dword [esp + 0x10]
push 5
call fcn.00470130
mov ecx, dword [esp + 0x30]
add esp, 8
sub ecx, dword [esp + 0x48]
mov ebx, dword [0x50bf78]
mov eax, ecx
cdq
sub ebx, eax
mov eax, dword [0x50bf7c]
mov dword [esp + 0x30], ebx
sbb eax, edx
mov edx, dword [0x50bdf0]
xor ebx, ebx
cmp ebx, eax
mov ebx, dword [esp + 0x40]
jl 0x474030
jg 0x474027
cmp edx, dword [esp + 0x30]
jb 0x474030
push ecx
call fcn.00461d70
add esp, 4
push dword [esp + 0x28]
push dword [esp + 0x1c]
call dword [0x50902c]
add esp, 8
mov dword [esp + 0x1c], eax
test eax, eax
jne 0x474073
cmp dword [0x50bf80], eax
je 0x47408d
push dword [esp + 0x10]
call fcn.00461d70
push dword [esp + 0x2c]
push dword [esp + 0x20]
call dword [0x50902c]
add esp, 0xc
mov dword [esp + 0x1c], eax
test eax, eax
je 0x47408d
push eax
call dword [0x509030]
sub eax, dword [esp + 0x4c]
push eax
push 0
call fcn.00470150
mov eax, dword [esp + 0x28]
add esp, 0xc
mov ecx, dword [0x50bf70]
test ecx, ecx
je 0x4740b9
push ecx
call dword [0x50905c]
mov eax, dword [esp + 0x20]
add esp, 4
jmp 0x4740b9
push eax
push dword [esp + 0x1c]
call dword [0x50902c]
add esp, 8
mov dword [esp + 0x1c], eax
test eax, eax
je 0x47411a
cmp dword [esp + 0x18], 0
jne 0x4740dc
mov ecx, dword [ebx + 0xc]
test ecx, ecx
jle 0x4740dc
push ecx
push dword [ebx + 8]
push eax
call fcn.004c1700
mov eax, dword [esp + 0x28]
add esp, 0xc
mov ecx, dword [ebx]
mov dword [ebx + 8], eax
test ecx, ecx
je 0x474106
cmp eax, dword [ecx + 0x114]
jb 0x474106
cmp eax, dword [ecx + 0x118]
jae 0x474106
movzx eax, word [ecx + 0xf8]
mov edx, edi
mov dword [ebx + 0x10], eax
jmp 0x4741e7
push eax
call dword [0x509030]
add esp, 4
mov dword [ebx + 0x10], eax
mov edx, edi
jmp 0x4741e7
mov edi, dword [ebx + 8]
cmp edi, dword [ebx + 4]
je 0x4741c8
mov ecx, dword [ebx]
test edi, edi
je 0x4741c8
test ecx, ecx
je 0x474172
cmp dword [ecx + 0x208], 0
je 0x47414c
push edi
push ecx
call fcn.00438370
add esp, 8
jmp 0x4741c8
cmp edi, dword [ecx + 0x114]
jb 0x474172
cmp edi, dword [ecx + 0x118]
jae 0x474172
mov eax, dword [ecx + 0x110]
mov dword [edi], eax
dec dword [ecx + 0xfc]
mov dword [ecx + 0x110], edi
jmp 0x4741c8
cmp dword [section..data], 0
je 0x4741be
mov ecx, dword [0x50bf70]
test ecx, ecx
je 0x47418f
push ecx
call dword [0x509054]
add esp, 4
push edi
call dword [0x509030]
sub dword [0x50bdf0], eax
dec dword [0x50be14]
push edi
call dword [0x509028]
mov eax, dword [0x50bf70]
add esp, 8
test eax, eax
je 0x4741c8
push eax
call dword [0x50905c]
jmp 0x4741c5
push edi
call dword [0x509028]
add esp, 4
mov edi, dword [esp + 0x2c]
mov dword [ebx + 8], 0
mov byte [ebx + 0x18], 1
mov dword [ebx + 0x10], 0
jmp 0x47436e
mov edx, dword [esp + 0x58]
mov ecx, dword [ebx + 0xc]
dec edx
mov eax, dword [ebx + 8]
mov byte [ecx + eax], 0x20
inc dword [ebx + 0xc]
test edx, edx
jg 0x4741e7
mov edi, dword [esp + 0x2c]
jmp 0x47436e
mov ecx, dword [esp + 0x38]
mov ebx, dword [esp + 0x40]
add ecx, 4
mov dword [esp + 0x38], ecx
mov eax, dword [ecx - 4]
test eax, eax
je 0x474254
mov ecx, dword [eax + 4]
test ecx, ecx
je 0x474254
mov edx, dword [ebx + 0xc]
mov esi, dword [eax]
add edx, ecx
push ecx
push esi
cmp edx, dword [ebx + 0x10]
jl 0x474241
push ebx
call fcn.0042c080
add esp, 0xc
xor esi, esi
mov dword [esp + 0x24], esi
jmp 0x47436e
mov eax, dword [ebx + 8]
sub eax, ecx
mov dword [ebx + 0xc], edx
add eax, edx
push eax
call fcn.004c1700
add esp, 0xc
xor esi, esi
mov dword [esp + 0x24], esi
jmp 0x47436e
mov ecx, dword [esp + 0x38]
mov ebx, dword [ecx]
lea eax, [ecx + 8]
mov dword [esp + 0x70], eax
mov eax, dword [eax - 4]
mov dword [esp + 0x58], ebx
lea edx, [eax + eax*4]
shl edx, 4
mov dword [esp + 0x30], edx
mov edx, dword [edx + ebx + 0xc]
test edx, edx
je 0x4742f1
cmp byte [edx], 0
mov ecx, edx
je 0x474296
lea esp, [esp]
inc ecx
cmp byte [ecx], 0
jne 0x474290
mov ebx, dword [esp + 0x40]
sub ecx, edx
and ecx, 0x3fffffff
push ecx
push edx
mov esi, dword [ebx + 0xc]
add esi, ecx
cmp esi, dword [ebx + 0x10]
jl 0x4742b6
push ebx
call fcn.0042c080
jmp 0x4742c6
mov eax, dword [ebx + 8]
sub eax, ecx
mov dword [ebx + 0xc], esi
add eax, esi
push eax
call fcn.004c1700
mov ecx, dword [ebx + 0xc]
add esp, 0xc
inc ecx
cmp ecx, dword [ebx + 0x10]
jl 0x4742e4
push 1
push 0x4ef8f0
push ebx
call fcn.0042c080
add esp, 0xc
jmp 0x4742f5
mov eax, dword [ebx + 8]
mov dword [ebx + 0xc], ecx
mov byte [eax + ecx - 1], 0x2e
jmp 0x4742f5
mov ebx, dword [esp + 0x40]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x58]
mov edx, dword [edx + eax + 0x10]
mov ecx, edx
test edx, edx
je 0x47431e
cmp byte [edx], 0
je 0x474316
lea esp, [esp]
inc ecx
cmp byte [ecx], 0
jne 0x474310
sub ecx, edx
and ecx, 0x3fffffff
mov esi, dword [ebx + 0xc]
add esi, ecx
push ecx
push edx
cmp esi, dword [ebx + 0x10]
jl 0x474343
push ebx
call fcn.0042c080
mov ecx, dword [esp + 0x7c]
add esp, 0xc
xor esi, esi
mov dword [esp + 0x38], ecx
mov dword [esp + 0x24], esi
jmp 0x47436e
mov eax, dword [ebx + 8]
sub eax, ecx
mov dword [ebx + 0xc], esi
add eax, esi
push eax
call fcn.004c1700
mov ecx, dword [esp + 0x7c]
add esp, 0xc
xor esi, esi
mov dword [esp + 0x38], ecx
mov dword [esp + 0x24], esi
jmp 0x47436e
mov edi, dword [esp + 0x2c]
mov ebx, dword [esp + 0x40]
mov ecx, dword [ebx + 0xc]
add ecx, esi
push esi
push edi
cmp ecx, dword [ebx + 0x10]
jl 0x474382
push ebx
call fcn.0042c080
jmp 0x474392
mov eax, dword [ebx + 8]
sub eax, esi
mov dword [ebx + 0xc], ecx
add eax, ecx
push eax
call fcn.004c1700
mov esi, dword [esp + 0x30]
add esp, 0xc
test esi, esi
jle 0x474409
cmp byte [esp + 0xf], 0
je 0x474409
mov eax, dword [ebx + 0xc]
cdq
mov dword [esp + 0x1c], eax
mov eax, esi
mov dword [esp + 0x48], edx
cdq
add eax, dword [esp + 0x1c]
mov ecx, edx
mov dword [esp + 0x30], eax
mov eax, dword [ebx + 0x10]
adc ecx, dword [esp + 0x48]
cdq
cmp ecx, edx
jl 0x4743f7
jg 0x4743d1
cmp dword [esp + 0x30], eax
jb 0x4743f7
cmp byte [ebx + 0x18], 0
jne 0x474409
cmp dword [ebx + 0x14], 0
jne 0x474473
mov esi, dword [ebx + 0x10]
sub esi, dword [ebx + 0xc]
dec esi
mov byte [ebx + 0x18], 2
mov dword [ebx + 0x10], 0
test esi, esi
jle 0x474409
mov ecx, dword [ebx + 0xc]
dec esi
mov eax, dword [ebx + 8]
mov byte [ecx + eax], 0x20
inc dword [ebx + 0xc]
test esi, esi
jg 0x4743f7
mov ecx, dword [esp + 0x64]
test ecx, ecx
je 0x475084
cmp dword [section..data], 0
je 0x475074
mov eax, dword [0x50bf70]
test eax, eax
je 0x474439
push eax
call dword [0x509054]
mov ecx, dword [esp + 0x68]
add esp, 4
push ecx
call dword [0x509030]
mov ecx, dword [esp + 0x68]
sub dword [0x50bdf0], eax
dec dword [0x50be14]
push ecx
call dword [0x509028]
mov eax, dword [0x50bf70]
add esp, 8
test eax, eax
je 0x47507e
push eax
call dword [0x50905c]
jmp 0x47507b
mov ecx, dword [ebx + 8]
xor edx, edx
cmp ecx, dword [ebx + 4]
mov eax, ecx
mov dword [esp + 0x70], ecx
cmove eax, edx
mov dword [esp + 0x24], eax
lea eax, [esi + 1]
cdq
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
add dword [esp + 0x28], eax
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x48]
adc dword [esp + 0x18], edx
add eax, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
adc edx, dword [esp + 0x18]
mov eax, dword [ebx + 0x14]
mov dword [esp + 0x48], edx
cdq
mov dword [esp + 0x58], eax
mov eax, edx
mov edx, dword [esp + 0x48]
mov dword [esp + 0x30], eax
cmp edx, eax
jg 0x4744de
mov eax, dword [esp + 0x1c]
jl 0x4745ca
cmp eax, dword [esp + 0x58]
jbe 0x4745ca
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x28]
mov dword [esp + 0x1c], eax
cmp edx, dword [esp + 0x30]
jl 0x4745ca
jg 0x474502
mov edx, dword [esp + 0x58]
cmp eax, edx
jbe 0x4745ca
cmp ecx, dword [ebx + 4]
je 0x4745b3
mov edx, dword [ebx]
test ecx, ecx
je 0x4745b3
test edx, edx
je 0x474557
cmp dword [edx + 0x208], 0
je 0x474531
push ecx
push edx
call fcn.00438370
add esp, 8
jmp 0x4745b3
cmp ecx, dword [edx + 0x114]
jb 0x474557
cmp ecx, dword [edx + 0x118]
jae 0x474557
mov eax, dword [edx + 0x110]
mov dword [ecx], eax
dec dword [edx + 0xfc]
mov dword [edx + 0x110], ecx
jmp 0x4745b3
cmp dword [section..data], 0
je 0x4745a9
mov eax, dword [0x50bf70]
test eax, eax
je 0x474577
push eax
call dword [0x509054]
mov ecx, dword [esp + 0x74]
add esp, 4
push ecx
call dword [0x509030]
push dword [esp + 0x74]
sub dword [0x50bdf0], eax
dec dword [0x50be14]
call dword [0x509028]
mov eax, dword [0x50bf70]
add esp, 8
test eax, eax
je 0x4745b3
push eax
call dword [0x50905c]
jmp 0x4745b0
push ecx
call dword [0x509028]
add esp, 4
mov dword [ebx + 8], 0
mov byte [ebx + 0x18], 2
mov dword [ebx + 0x10], 0
jmp 0x474409
mov ecx, dword [ebx]
mov dword [ebx + 0x10], eax
mov dword [esp + 0x48], ecx
test ecx, ecx
je 0x474c51
cmp byte [ecx + 0x41], 0
cdq
mov dword [esp + 0x18], eax
mov dword [esp + 0x28], edx
mov dword [esp + 0x10], 0
jne 0x474f52
mov eax, dword [esp + 0x24]
test eax, eax
jne 0x4747e7
cmp byte [ecx + 0xfa], al
je 0x474672
movzx eax, word [ecx + 0xf8]
cdq
cmp dword [esp + 0x28], edx
mov edx, dword [esp + 0x18]
jb 0x47462a
ja 0x474622
cmp edx, eax
jbe 0x47462a
inc dword [ecx + 0x108]
jmp 0x474676
mov eax, dword [ecx + 0x110]
mov dword [esp + 0x10], eax
test eax, eax
jne 0x474640
inc dword [ecx + 0x10c]
jmp 0x474676
mov eax, dword [eax]
mov dword [ecx + 0x110], eax
mov eax, dword [ecx + 0xfc]
inc eax
mov dword [ecx + 0xfc], eax
inc dword [ecx + 0x104]
cmp eax, dword [ecx + 0x100]
jle 0x474f52
mov dword [ecx + 0x100], eax
jmp 0x474f52
mov edx, dword [esp + 0x18]
mov eax, edx
mov edx, dword [esp + 0x28]
or eax, edx
je 0x4747d8
test edx, edx
ja 0x4747d8
jb 0x47469c
cmp dword [esp + 0x18], 0x7fffff00
jae 0x4747d8
cmp dword [section..data], 0
je 0x4747c5
mov eax, dword [0x50bf70]
test eax, eax
je 0x4746bc
push eax
call dword [0x509054]
add esp, 4
push dword [esp + 0x1c]
call dword [0x509034]
mov ecx, dword [0x50be2c]
add esp, 4
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x1c]
cmp eax, ecx
mov dword [0x50be04], eax
cmova ecx, eax
cmp dword [0x50bf80], 0
mov dword [0x50be2c], ecx
je 0x474741
mov ecx, dword [esp + 0x58]
mov eax, ecx
mov ebx, dword [0x50bf78]
cdq
sub ebx, eax
mov eax, dword [0x50bf7c]
mov dword [esp + 0x30], ebx
sbb eax, edx
mov edx, dword [0x50bdf0]
xor ebx, ebx
cmp ebx, eax
mov ebx, dword [esp + 0x40]
jl 0x474737
jg 0x474722
cmp edx, dword [esp + 0x30]
jb 0x474737
push ecx
mov dword [0x50bf94], 1
call fcn.00461d70
add esp, 4
jmp 0x474741
mov dword [0x50bf94], 0
push dword [esp + 0x58]
call dword [0x509024]
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
je 0x474799
push eax
call dword [0x509030]
mov ecx, dword [0x50bdf0]
add esp, 4
add ecx, eax
mov eax, dword [0x50be18]
cmp ecx, eax
mov dword [0x50bdf0], ecx
cmova eax, ecx
mov ecx, dword [0x50be14]
inc ecx
mov dword [0x50be18], eax
mov eax, dword [0x50be3c]
cmp ecx, eax
mov dword [0x50be14], ecx
cmova eax, ecx
mov dword [0x50be3c], eax
mov eax, dword [0x50bf70]
test eax, eax
je 0x4747ac
push eax
call dword [0x50905c]
add esp, 4
mov eax, dword [esp + 0x10]
test eax, eax
jne 0x474f52
mov ecx, dword [esp + 0x48]
mov byte [ecx + 0x41], 1
jmp 0x474f52
push dword [esp + 0x1c]
call dword [0x509024]
add esp, 4
mov dword [esp + 0x10], eax
jmp 0x4747b0
xor eax, eax
mov byte [ecx + 0x41], 1
mov dword [esp + 0x10], eax
jmp 0x474f52
cmp eax, dword [ecx + 0x114]
jb 0x474a68
cmp eax, dword [ecx + 0x118]
jae 0x474a68
movzx eax, word [ecx + 0xf8]
cdq
cmp dword [esp + 0x28], edx
ja 0x474820
jb 0x474817
mov edx, dword [esp + 0x18]
cmp edx, eax
ja 0x474824
mov eax, dword [esp + 0x24]
jmp 0x474f79
mov edx, dword [esp + 0x18]
cmp byte [ecx + 0xfa], 0
je 0x474833
inc dword [ecx + 0x108]
mov ecx, dword [esp + 0x28]
mov eax, edx
or eax, ecx
je 0x474a55
test ecx, ecx
ja 0x474a55
jb 0x474857
cmp edx, 0x7fffff00
jae 0x474a55
cmp dword [section..data], 0
je 0x4749a8
mov eax, dword [0x50bf70]
test eax, eax
je 0x474877
push eax
call dword [0x509054]
add esp, 4
push dword [esp + 0x1c]
call dword [0x509034]
mov ecx, dword [0x50be2c]
add esp, 4
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x1c]
cmp eax, ecx
mov dword [0x50be04], eax
cmova ecx, eax
cmp dword [0x50bf80], 0
mov dword [0x50be2c], ecx
je 0x4748fc
mov ecx, dword [esp + 0x58]
mov eax, ecx
mov edi, dword [0x50bf78]
cdq
sub edi, eax
mov eax, dword [0x50bf7c]
mov dword [esp + 0x30], edi
sbb eax, edx
mov edx, dword [0x50bdf0]
xor edi, edi
cmp edi, eax
mov edi, dword [esp + 0x2c]
jl 0x4748f2
jg 0x4748dd
cmp edx, dword [esp + 0x30]
jb 0x4748f2
push ecx
mov dword [0x50bf94], 1
call fcn.00461d70
add esp, 4
jmp 0x4748fc
mov dword [0x50bf94], 0
push dword [esp + 0x58]
call dword [0x509024]
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
je 0x474954
push eax
call dword [0x509030]
mov ecx, dword [0x50bdf0]
add esp, 4
add ecx, eax
mov eax, dword [0x50be18]
cmp ecx, eax
mov dword [0x50bdf0], ecx
cmova eax, ecx
mov ecx, dword [0x50be14]
inc ecx
mov dword [0x50be18], eax
mov eax, dword [0x50be3c]
cmp ecx, eax
mov dword [0x50be14], ecx
cmova eax, ecx
mov dword [0x50be3c], eax
mov eax, dword [0x50bf70]
test eax, eax
je 0x474967
push eax
call dword [0x50905c]
add esp, 4
mov ecx, dword [esp + 0x10]
test ecx, ecx
je 0x474a57
mov eax, dword [esp + 0x48]
movzx eax, word [eax + 0xf8]
push eax
push dword [esp + 0x28]
push ecx
call fcn.004c1700
mov ecx, dword [esp + 0x54]
add esp, 0xc
cmp dword [ecx + 0x208], 0
je 0x4749bd
push dword [esp + 0x24]
push ecx
call fcn.00438370
jmp 0x474f4f
push dword [esp + 0x1c]
call dword [0x509024]
mov ecx, eax
add esp, 4
mov dword [esp + 0x10], ecx
jmp 0x47496b
mov edx, dword [esp + 0x24]
cmp edx, dword [ecx + 0x114]
jb 0x4749ea
cmp edx, dword [ecx + 0x118]
jae 0x4749ea
mov eax, dword [ecx + 0x110]
mov dword [edx], eax
dec dword [ecx + 0xfc]
mov dword [ecx + 0x110], edx
jmp 0x474f52
cmp dword [section..data], 0
je 0x474a46
mov eax, dword [0x50bf70]
test eax, eax
je 0x474a0a
push eax
call dword [0x509054]
mov edx, dword [esp + 0x28]
add esp, 4
push edx
call dword [0x509030]
push dword [esp + 0x28]
sub dword [0x50bdf0], eax
dec dword [0x50be14]
call dword [0x509028]
mov eax, dword [0x50bf70]
add esp, 8
test eax, eax
je 0x474f52
push eax
call dword [0x50905c]
add esp, 4
jmp 0x474f52
push edx
call dword [0x509028]
add esp, 4
jmp 0x474f52
xor ecx, ecx
mov eax, dword [esp + 0x48]
mov dword [esp + 0x10], ecx
mov byte [eax + 0x41], 1
jmp 0x474f52
call fcn.00484960
test eax, eax
jne 0x474af8
mov edx, dword [esp + 0x18]
mov eax, edx
mov ecx, dword [esp + 0x28]
or eax, ecx
jne 0x474b0b
cmp dword [section..data], eax
je 0x474aeb
mov eax, dword [0x50bf70]
test eax, eax
je 0x474aa2
push eax
call dword [0x509054]
add esp, 4
push dword [esp + 0x24]
call dword [0x509030]
push dword [esp + 0x28]
sub dword [0x50bdf0], eax
dec dword [0x50be14]
call dword [0x509028]
mov eax, dword [0x50bf70]
add esp, 8
test eax, eax
je 0x474af8
push eax
call dword [0x50905c]
add esp, 4
xor eax, eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x48]
mov byte [eax + 0x41], 1
jmp 0x474f52
push dword [esp + 0x24]
call dword [0x509028]
add esp, 4
xor eax, eax
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x48]
mov byte [eax + 0x41], 1
jmp 0x474f52
test ecx, ecx
jne 0x474af8
cmp edx, 0x7fffff00
jae 0x474af8
push dword [esp + 0x24]
call dword [0x509030]
push dword [esp + 0x20]
mov dword [esp + 0x20], eax
call dword [0x509034]
add esp, 8
mov dword [esp + 0x28], eax
cmp dword [esp + 0x18], eax
jne 0x474b49
mov eax, dword [esp + 0x24]
mov dword [esp + 0x10], eax
jmp 0x474f52
cmp dword [section..data], 0
je 0x474c3b
mov eax, dword [0x50bf70]
test eax, eax
je 0x474b69
push eax
call dword [0x509054]
add esp, 4
push dword [esp + 0x1c]
push 5
call fcn.00470130
mov ecx, dword [esp + 0x30]
add esp, 8
sub ecx, dword [esp + 0x18]
mov edi, dword [0x50bf78]
mov eax, ecx
cdq
sub edi, eax
mov eax, dword [0x50bf7c]
mov dword [esp + 0x30], edi
sbb eax, edx
mov edx, dword [0x50bdf0]
xor edi, edi
cmp edi, eax
mov edi, dword [esp + 0x2c]
jl 0x474bb6
jg 0x474bad
cmp edx, dword [esp + 0x30]
jb 0x474bb6
push ecx
call fcn.00461d70
add esp, 4
push dword [esp + 0x28]
push dword [esp + 0x28]
call dword [0x50902c]
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne 0x474bf9
cmp dword [0x50bf80], eax
je 0x474c0f
push dword [esp + 0x1c]
call fcn.00461d70
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call dword [0x50902c]
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
je 0x474c0f
push eax
call dword [0x509030]
sub eax, dword [esp + 0x1c]
push eax
push 0
call fcn.00470150
add esp, 0xc
mov eax, dword [0x50bf70]
test eax, eax
je 0x474c22
push eax
call dword [0x50905c]
add esp, 4
mov ecx, dword [esp + 0x10]
test ecx, ecx
jne 0x474f52
mov eax, dword [esp + 0x48]
mov byte [eax + 0x41], 1
jmp 0x474f52
push eax
push dword [esp + 0x28]
call dword [0x50902c]
mov ecx, eax
add esp, 8
mov dword [esp + 0x10], ecx
jmp 0x474c26
call fcn.00484960
test eax, eax
jne 0x474fb3
mov ecx, dword [esp + 0x24]
mov eax, dword [esp + 0x1c]
test ecx, ecx
jne 0x474dae
test eax, eax
je 0x474e19
cmp eax, 0x7fffff00
jae 0x474e19
cmp dword [section..data], ecx
je 0x474d9b
mov ecx, dword [0x50bf70]
test ecx, ecx
je 0x474ca5
push ecx
call dword [0x509054]
mov eax, dword [esp + 0x20]
add esp, 4
push eax
call dword [0x509034]
mov ecx, dword [0x50be2c]
add esp, 4
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x1c]
cmp eax, ecx
mov dword [0x50be04], eax
cmova ecx, eax
cmp dword [0x50bf80], 0
mov dword [0x50be2c], ecx
je 0x474d27
mov ecx, dword [esp + 0x58]
mov eax, ecx
mov edi, dword [0x50bf78]
cdq
sub edi, eax
mov eax, dword [0x50bf7c]
mov dword [esp + 0x30], edi
sbb eax, edx
mov edx, dword [0x50bdf0]
xor edi, edi
cmp edi, eax
mov edi, dword [esp + 0x2c]
jl 0x474d1d
jg 0x474d08
cmp edx, dword [esp + 0x30]
jb 0x474d1d
push ecx
mov dword [0x50bf94], 1
call fcn.00461d70
add esp, 4
jmp 0x474d27
mov dword [0x50bf94], 0
push dword [esp + 0x58]
call dword [0x509024]
add esp, 4
mov dword [esp + 0x10], eax
test eax, eax
je 0x474d7f
push eax
call dword [0x509030]
mov ecx, dword [0x50bdf0]
add esp, 4
add ecx, eax
mov eax, dword [0x50be18]
cmp ecx, eax
mov dword [0x50bdf0], ecx
cmova eax, ecx
mov ecx, dword [0x50be14]
inc ecx
mov dword [0x50be18], eax
mov eax, dword [0x50be3c]
cmp ecx, eax
mov dword [0x50be14], ecx
cmova eax, ecx
mov dword [0x50be3c], eax
mov eax, dword [0x50bf70]
test eax, eax
je 0x474f52
push eax
call dword [0x50905c]
add esp, 4
jmp 0x474f52
push eax
call dword [0x509024]
add esp, 4
mov dword [esp + 0x10], eax
jmp 0x474f52
test eax, eax
jne 0x474e24
cmp dword [section..data], eax
je 0x474e0f
mov eax, dword [0x50bf70]
test eax, eax
je 0x474dd1
push eax
call dword [0x509054]
mov ecx, dword [esp + 0x28]
add esp, 4
push ecx
call dword [0x509030]
push dword [esp + 0x28]
sub dword [0x50bdf0], eax
dec dword [0x50be14]
call dword [0x509028]
mov eax, dword [0x50bf70]
add esp, 8
test eax, eax
je 0x474e19
push eax
call dword [0x50905c]
add esp, 4
xor eax, eax
mov dword [esp + 0x10], eax
jmp 0x474f52
push ecx
call dword [0x509028]
add esp, 4
xor eax, eax
mov dword [esp + 0x10], eax
jmp 0x474f52
cmp eax, 0x7fffff00
jb 0x474e36
xor eax, eax
mov dword [esp + 0x10], eax
jmp 0x474f52
push ecx
call dword [0x509030]
push dword [esp + 0x20]
mov dword [esp + 0x50], eax
call dword [0x509034]
add esp, 8
mov dword [esp + 0x28], eax
cmp dword [esp + 0x48], eax
jne 0x474e65
mov eax, dword [esp + 0x24]
mov dword [esp + 0x10], eax
jmp 0x474f52
cmp dword [section..data], 0
je 0x474f40
mov eax, dword [0x50bf70]
test eax, eax
je 0x474e85
push eax
call dword [0x509054]
add esp, 4
push dword [esp + 0x1c]
push 5
call fcn.00470130
mov ecx, dword [esp + 0x30]
add esp, 8
sub ecx, dword [esp + 0x48]
mov ebx, dword [0x50bf78]
mov eax, ecx
cdq
sub ebx, eax
mov eax, dword [0x50bf7c]
mov dword [esp + 0x30], ebx
sbb eax, edx
mov edx, dword [0x50bdf0]
xor ebx, ebx
cmp ebx, eax
mov ebx, dword [esp + 0x40]
jl 0x474ed2
jg 0x474ec9
cmp edx, dword [esp + 0x30]
jb 0x474ed2
push ecx
call fcn.00461d70
add esp, 4
push dword [esp + 0x28]
push dword [esp + 0x28]
call dword [0x50902c]
add esp, 8
mov dword [esp + 0x10], eax
test eax, eax
jne 0x474f15
cmp dword [0x50bf80], eax
je 0x474f2b
push dword [esp + 0x1c]
call fcn.00461d70
push dword [esp + 0x2c]
push dword [esp + 0x2c]
call dword [0x50902c]
add esp, 0xc
mov dword [esp + 0x10], eax
test eax, eax
je 0x474f2b
push eax
call dword [0x509030]
sub eax, dword [esp + 0x4c]
push eax
push 0
call fcn.00470150
add esp, 0xc
mov eax, dword [0x50bf70]
test eax, eax
je 0x474f52
push eax
call dword [0x50905c]
add esp, 4
jmp 0x474f52
push eax
push dword [esp + 0x28]
call dword [0x50902c]
mov dword [esp + 0x18], eax
add esp, 8
mov eax, dword [esp + 0x10]
test eax, eax
je 0x474fb3
cmp dword [esp + 0x24], 0
jne 0x474f79
mov ecx, dword [ebx + 0xc]
test ecx, ecx
jle 0x474f79
push ecx
push dword [ebx + 8]
push eax
call fcn.004c1700
mov eax, dword [esp + 0x1c]
add esp, 0xc
mov ecx, dword [ebx]
mov dword [ebx + 8], eax
test ecx, ecx
je 0x474fa1
cmp eax, dword [ecx + 0x114]
jb 0x474fa1
cmp eax, dword [ecx + 0x118]
jae 0x474fa1
movzx eax, word [ecx + 0xf8]
mov dword [ebx + 0x10], eax
jmp 0x4743f7
push eax
call dword [0x509030]
add esp, 4
mov dword [ebx + 0x10], eax
jmp 0x4743f7
mov esi, dword [ebx + 8]
cmp esi, dword [ebx + 4]
je 0x47505d
mov ecx, dword [ebx]
test esi, esi
je 0x47505d
test ecx, ecx
je 0x475008
cmp dword [ecx + 0x208], 0
je 0x474fe2
push esi
push ecx
call fcn.00438370
add esp, 8
jmp 0x47505d
cmp esi, dword [ecx + 0x114]
jb 0x475008
cmp esi, dword [ecx + 0x118]
jae 0x475008
mov eax, dword [ecx + 0x110]
mov dword [esi], eax
dec dword [ecx + 0xfc]
mov dword [ecx + 0x110], esi
jmp 0x47505d
cmp dword [section..data], 0
je 0x475053
mov eax, dword [0x50bf70]
test eax, eax
je 0x475024
push eax
call dword [0x509054]
add esp, 4
push esi
call dword [0x509030]
sub dword [0x50bdf0], eax
dec dword [0x50be14]
push esi
call dword [0x509028]
mov eax, dword [0x50bf70]
add esp, 8
test eax, eax
je 0x47505d
push eax
call dword [0x50905c]
jmp 0x47505a
push esi
call dword [0x509028]
add esp, 4
mov dword [ebx + 8], 0
mov byte [ebx + 0x18], 1
mov dword [ebx + 0x10], 0
jmp 0x474409
push ecx
call dword [0x509028]
add esp, 4
xor ecx, ecx
mov dword [esp + 0x64], ecx
mov esi, dword [esp + 0x68]
inc esi
movsx eax, byte [esi]
test eax, eax
je case.default.0x472f20
mov edx, dword [esp + 0x38]
jmp 0x472c30
mov esi, dword [esp + 0x40]
mov byte [esi + 0x18], 1
mov dword [esi + 0x10], 0
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x118]
xor ecx, esp
call fcn.004bf929
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebx + 0xc]
inc ecx
cmp ecx, dword [ebx + 0x10]
jl 0x4750eb
push 1
push 0x4ef8c4
push ebx
call fcn.0042c080
add esp, 0xc
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x118]
xor ecx, esp
call fcn.004bf929
mov esp, ebp
pop ebp
ret
mov eax, dword [ebx + 8]
mov dword [ebx + 0xc], ecx
mov byte [eax + ecx - 1], 0x25
mov ecx, dword [esp + 0x124]
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.004bf929
mov esp, ebp
pop ebp
ret