Function at 0x401150
Capabilities:
Terminate process

Disassembly:
mov eax, dword [esp + 8]
mov ecx, dword [esp + 4]
push eax
push ecx
call 0x401170
add esp, 8
push 0
call fcn.004022f6
nop
nop
nop
nop
nop
nop
nop
sub esp, 0x374
push ebx
push edi
mov ecx, 0x11
xor eax, eax
lea edi, [esp + 0x34]
xor ebx, ebx
rep stosd dword es:[edi], eax
push 0x40d2d0
mov dword [esp + 0x20], ebx
mov dword [esp + 0x14], ebx
mov dword [esp + 0xc], ebx
stosw word es:[edi], ax
call fcn.0040285c
push 0x40d280
call fcn.0040285c
mov eax, dword [esp + 0x388]
add esp, 8
cmp eax, 2
jl 0x4019bf
cmp eax, 4
jg 0x4019bf
push ebp
push esi
mov esi, dword [esp + 0x38c]
mov eax, dword [esi + 4]
push eax
call fcn.0040b2e6
mov ecx, dword [esi + 4]
push ecx
call fcn.0040b2e6
mov edi, eax
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x148]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x2e
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x14c]
push ecx
call fcn.004027a0
add esp, 0x10
test eax, eax
jne 0x401253
lea edi, [esp + 0x140]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov edi, dword [0x40d030]
not ecx
dec ecx
lea edx, [esp + ecx + 0x140]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x26c]
lea edx, [esp + 0x140]
push ecx
push ebx
push edx
call fcn.00401100
add esp, 0xc
lea eax, [esp + 0x140]
push 0x5c
push eax
call fcn.00402760
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x401287
inc ebp
jmp 0x4012a9
lea ecx, [esp + 0x140]
push 0x3a
push ecx
call fcn.00402760
mov ebp, eax
add esp, 8
test ebp, ebp
je 0x4012a2
inc ebp
jmp 0x4012a9
lea ebp, [esp + 0x140]
lea edi, [esp + 0x280]
or ecx, 0xffffffff
xor eax, eax
push 0x40d27c
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea eax, [esp + 0x144]
mov edx, ecx
mov esi, edi
mov edi, ebp
push eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.00402744
mov esi, eax
add esp, 8
test esi, esi
je 0x40137c
push esi
push 1
lea ecx, [esp + 0x3c]
push 4
push ecx
call fcn.0040263c
mov eax, dword [esp + 0x44]
add esp, 0x10
cmp eax, 0xf7
jne 0x401329
lea edx, [esp + 0x140]
push edx
push 0x40d244
call fcn.0040285c
push esi
call fcn.004025e6
add esp, 0xc
jmp 0x40199a
lea eax, [esp + 0x140]
push 0x40d240
push eax
call fcn.00402744
add esp, 8
mov dword [esp + 0x1c], eax
test eax, eax
je 0x40199a
mov eax, dword [esp + 0x388]
mov dword [esp + 0x14], 0
cmp eax, 3
jne 0x401396
mov edx, dword [esp + 0x38c]
mov eax, dword [edx + 8]
push eax
call fcn.0040b2e6
add esp, 4
lea edx, [esp + 0x1f4]
mov edi, eax
jmp 0x4013a4
lea ecx, [esp + 0x140]
push ecx
push 0x40d220
call fcn.0040285c
add esp, 8
jmp 0x40199a
lea edi, [esp + 0x140]
lea edx, [esp + 0x1f4]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
push 0x2e
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x1f8]
push ecx
call fcn.00402760
add esp, 8
test eax, eax
jne 0x4013f5
lea edi, [esp + 0x1f4]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov edi, dword [0x40d030]
not ecx
dec ecx
lea edx, [esp + ecx + 0x1f4]
jmp 0x40140f
mov edi, dword [0x40d030]
lea ecx, [esp + 0x1f4]
push 0x2e
push ecx
call fcn.00402760
add esp, 8
mov edx, eax
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [esp + 0x1f4]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea esi, [esp + 0x140]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x40145e
test cl, cl
je 0x40145a
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x40145e
add eax, 2
add esi, 2
test cl, cl
jne 0x40143a
xor eax, eax
jmp 0x401463
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
jne 0x40147e
lea edi, [esp + 0x1f4]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
mov byte [esp + ecx + 0x1f3], 0x5f
lea eax, [esp + 0x1f4]
lea ecx, [esp + 0x140]
push eax
push ecx
push 0x40d1ec
call fcn.0040285c
lea edx, [esp + 0x200]
xor edi, edi
push 0x40d1e8
push edx
mov dword [esp + 0x40], edi
call fcn.00402744
mov esi, eax
mov eax, dword [esp + 0x30]
add esp, 0x14
mov dword [esp + 0x28], esi
mov cl, byte [eax + 0xc]
mov dword [esp + 0x30], edi
test cl, 0x10
mov dword [esp + 0x20], edi
jne 0x401953
mov eax, dword [esp + 0x20]
xor esi, esi
test eax, eax
jne 0x40150a
mov ecx, 0x1e
xor eax, eax
lea edi, [esp + 0x84]
lea edx, [esp + 0x84]
rep stosd dword es:[edi], eax
mov ecx, dword [esp + 0x1c]
push ecx
push 0x78
push edx
call section..text
add esp, 0xc
test eax, eax
je 0x40194f
mov eax, dword [esp + 0x30]
test eax, eax
je 0x4016cd
mov edi, dword [esp + 0x20]
mov eax, edi
sub eax, 0
je 0x4015c1
dec eax
je 0x40157b
dec eax
jne 0x4015fe
mov cl, byte [esp + 0xda]
lea eax, [esp + 0xda]
cmp cl, 0x20
jne 0x401564
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
je 0x401542
lea ecx, [esp + 0xe0]
cmp eax, ecx
jbe 0x401564
xor ebx, ebx
lea ebp, [esp + 0xc8]
jmp 0x4015fe
push eax
call fcn.004025db
add esp, 4
mov ebx, eax
lea ebp, [esp + 0xc8]
jmp 0x4015fe
mov cl, byte [esp + 0xb2]
lea eax, [esp + 0xb2]
cmp cl, 0x20
jne 0x4015ad
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
je 0x40158e
lea edx, [esp + 0xb9]
cmp eax, edx
jbe 0x4015ad
xor ebx, ebx
lea ebp, [esp + 0xa7]
jmp 0x4015fe
push eax
call fcn.004025db
add esp, 4
mov ebx, eax
lea ebp, [esp + 0xa7]
jmp 0x4015fe
mov cl, byte [esp + 0x95]
lea eax, [esp + 0x95]
cmp cl, 0x20
jne 0x4015ec
mov cl, byte [eax + 1]
inc eax
cmp cl, 0x20
je 0x4015d4
lea ecx, [esp + 0x9c]
cmp eax, ecx
jbe 0x4015ec
xor ebx, ebx
jmp 0x4015f7
push eax
call fcn.004025db
add esp, 4
mov ebx, eax
lea ebp, [esp + 0x8a]
test ebx, ebx
je 0x401633
lea edx, [esp + 0x1b8]
lea eax, [esp + 0x18]
push edx
lea ecx, [esp + 0x28]
push eax
lea edx, [esp + 0x18]
push ecx
push edx
push ebp
call 0x401a10
mov ecx, dword [esp + 0x24]
add esp, 0x14
xor eax, eax
cmp ecx, 0xff
setne al
mov esi, eax
cmp edi, 2
jne 0x4016c3
mov dword [esp + 0x20], 0
test esi, esi
je 0x401941
mov edx, dword [esp + 0x2c]
mov ecx, 0x10
xor eax, eax
lea edi, [esp + 0x100]
rep stosd dword es:[edi], eax
inc edx
mov eax, 1
cmp edx, eax
mov dword [esp + 0x2c], edx
jne 0x40186a
mov word [esp + 0x3e], ax
mov word [esp + 0x48], ax
mov eax, dword [esp + 0x10]
xor edx, edx
cmp eax, 9
mov word [esp + 0x3c], 0xf7
mov byte [esp + 0x40], 2
mov word [esp + 0x46], bx
mov word [esp + 0x4a], dx
mov byte [esp + 0x42], al
je 0x4017de
cmp eax, 0xb
je 0x4017de
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x24]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x50], ecx
jmp 0x401856
inc edi
mov dword [esp + 0x20], edi
jmp 0x401644
lea ecx, [esp + 0x84]
push 0x40d1e0
push ecx
call fcn.004024d0
add esp, 8
test eax, eax
je 0x4016f3
mov dword [esp + 0x30], 1
jmp 0x401941
lea edx, [esp + 0x84]
push 0x40d1d8
push edx
call fcn.004024d0
add esp, 8
test eax, eax
jne 0x401742
lea eax, [esp + 0x84]
push 0x40d1d0
push eax
call fcn.004024d0
add esp, 8
test eax, eax
jne 0x401742
lea ecx, [esp + 0x84]
push 0x40d1c8
push ecx
call fcn.004024d0
add esp, 8
test eax, eax
je 0x401941
mov al, byte [esp + 0x88]
lea esi, [esp + 0x88]
test al, al
je 0x40178c
mov edi, 1
cmp dword [0x40d564], edi
jle 0x401771
movsx edx, byte [esi]
push 4
push edx
call fcn.00402457
add esp, 8
jmp 0x401780
movsx eax, byte [esi]
mov ecx, dword [0x40d358]
mov al, byte [ecx + eax*2]
and eax, 4
test eax, eax
jne 0x40178c
mov al, byte [esi + 1]
inc esi
test al, al
jne 0x401759
push esi
call fcn.004025db
push 0x3a
push esi
mov ebx, eax
call fcn.004027a0
mov ebp, eax
add esp, 0xc
test ebp, ebp
je 0x401941
mov al, byte [ebp + 1]
inc ebp
cmp al, 0x20
je 0x4017a9
test ebp, ebp
je 0x401941
lea edx, [esp + 0x1b8]
lea eax, [esp + 0x18]
push edx
lea ecx, [esp + 0x28]
push eax
lea edx, [esp + 0x18]
push ecx
push edx
push ebp
call 0x401a10
add esp, 0x14
jmp 0x40164c
lea edi, [esp + 0x1b8]
or ecx, 0xffffffff
xor eax, eax
lea esi, [esp + 0x4c]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x38], esi
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x38]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [esp + 0x1b8]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [esp + 0x7e], edx
mov esi, 0x40d1b8
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x401840
test cl, cl
je 0x40183c
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x401840
add eax, 2
add esi, 2
test cl, cl
jne 0x40181c
xor eax, eax
jmp 0x401845
sbb eax, eax
sbb eax, 0xffffffff
xor ecx, ecx
test eax, eax
mov eax, dword [esp + 0x14]
sete cl
add eax, ecx
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x28]
lea eax, [esp + 0x3c]
push edx
push eax
call fcn.00401090
jmp 0x40193e
mov eax, dword [esp + 0x10]
mov word [esp + 0x106], dx
dec edx
cmp eax, 9
mov word [esp + 0x104], bx
mov word [esp + 0x108], dx
mov byte [esp + 0x100], al
je 0x4018b0
cmp eax, 0xb
je 0x4018b0
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x24]
mov dword [esp + 0x10a], ecx
mov dword [esp + 0x10e], edx
jmp 0x40192c
lea edi, [esp + 0x1b8]
or ecx, 0xffffffff
xor eax, eax
lea edx, [esp + 0x10a]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [esp + 0x1b8]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [esp + 0x13c], 0
mov esi, 0x40d1b8
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x401916
test cl, cl
je 0x401912
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x401916
add eax, 2
add esi, 2
test cl, cl
jne 0x4018f2
xor eax, eax
jmp 0x40191b
sbb eax, eax
sbb eax, 0xffffffff
xor ecx, ecx
test eax, eax
mov eax, dword [esp + 0x14]
sete cl
add eax, ecx
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x28]
lea eax, [esp + 0x100]
push edx
push eax
call fcn.004010b0
add esp, 8
mov ecx, dword [esp + 0x1c]
test byte [ecx + 0xc], 0x10
je 0x4014d1
mov esi, dword [esp + 0x28]
push 0
push 0
push esi
call fcn.004023cb
mov dx, word [esp + 0x38]
lea eax, [esp + 0x48]
push esi
push eax
mov word [esp + 0x52], dx
call fcn.00401090
movsx edx, word [esp + 0x52]
mov ecx, dword [esp + 0x28]
push ecx
push edx
push 0x40d18c
call fcn.0040285c
mov eax, dword [esp + 0x3c]
push eax
call fcn.004025e6
push esi
call fcn.004025e6
add esp, 0x28
lea ecx, [esp + 0x26c]
push ecx
call fcn.00401130
add esp, 4
test eax, eax
je 0x40126c
pop esi
pop ebp
pop edi
xor eax, eax
pop ebx
add esp, 0x374
ret
push 0x40d160
call fcn.0040285c
push 0x40d12c
call fcn.0040285c
push 0x40d0e4
call fcn.0040285c
push 0x40d0a0
call fcn.0040285c
push 0x40d080
call fcn.0040285c
push 0x40d060
call fcn.0040285c
push 0x40d04c
call fcn.0040285c
add esp, 0x1c
push 1
call fcn.004022f6
nop
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x1c
push ebx
push esi
mov esi, dword [ebp + 8]
push edi
mov edi, dword [ebp + 0xc]
mov dword [edi], 0xff
mov al, byte [esi]
cmp al, 0x20
jne 0x401a36
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x401a2e
push 6
push 0x40d350
push esi
call fcn.0040b390
add esp, 0xc
test eax, eax
jne 0x401a4d
add esi, 6
cmp byte [esi], 0x20
jne 0x401a5a
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x401a52
movsx eax, byte [esi]
add eax, 0xffffffae
cmp eax, 0x22
ja case.0x401a71.87
xor ecx, ecx
mov cl, byte [eax + 0x401ee4]
jmp dword [ecx*4 + 0x401ecc]
mov dword [edi], 1
jmp 0x401a86
mov dword [edi], 3
inc esi
push esi
call fcn.004028df
fmul qword [0x40c100]
add esp, 4
call fcn.0040297c
mov edx, dword [ebp + 0x14]
mov ecx, dword [ebp + 0x10]
mov dword [edx], eax
mov dword [ecx], eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [edi], 6
mov eax, dword [0x40d564]
inc esi
cmp eax, 1
jle 0x401acd
movsx edx, byte [esi]
push 4
push edx
call fcn.00402457
add esp, 8
jmp 0x401adc
movsx eax, byte [esi]
mov ecx, dword [0x40d358]
mov al, byte [ecx + eax*2]
and eax, 4
test eax, eax
jne 0x401ae1
inc esi
push esi
call fcn.004028df
fmul qword [0x40c100]
call fcn.0040297c
mov edi, dword [ebp + 0x14]
push 0x2d
push esi
mov dword [edi], eax
call fcn.004027a0
add esp, 0xc
test eax, eax
je 0x401b22
inc eax
push eax
call fcn.004028df
fmul qword [0x40c100]
add esp, 4
call fcn.0040297c
mov ebx, dword [ebp + 0x10]
mov dword [ebx], eax
jmp 0x401b32
mov ebx, dword [ebp + 0x10]
mov edx, dword [edi]
mov eax, dword [ebp + 0xc]
mov dword [ebx], edx
mov dword [eax], 1
push 0x2e
push esi
call fcn.004027a0
add esp, 8
test eax, eax
jne 0x401ec3
fild dword [edi]
fcomp qword [0x40c0f8]
fnstsw ax
test ah, 0x41
jne 0x401b7e
mov ecx, dword [edi]
mov eax, 0x66666667
imul ecx
sar edx, 2
mov ecx, edx
shr ecx, 0x1f
add edx, ecx
mov dword [esp + 0x10], edx
mov dword [edi], edx
fild dword [esp + 0x10]
fcomp qword [0x40c0f8]
fnstsw ax
test ah, 0x41
je 0x401b54
fild dword [ebx]
fcomp qword [0x40c0f8]
fnstsw ax
test ah, 0x41
jne 0x401ec3
mov esi, dword [ebx]
mov ecx, esi
mov eax, 0x66666667
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add edx, eax
mov dword [esp + 0x10], edx
mov esi, edx
fild dword [esp + 0x10]
fcomp qword [0x40c0f8]
fnstsw ax
test ah, 0x41
je 0x401b93
mov dword [ebx], esi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
add esi, 3
push esi
call fcn.004028df
fstp qword [esp + 0x1c]
push 0x2d
push esi
call fcn.004027a0
push 0x2e
push esi
mov ebx, eax
call fcn.004027a0
add esp, 0x14
test eax, eax
jne 0x401bf5
mov edi, ebx
sub edi, esi
cmp edi, 3
jge 0x401bf7
xor edi, edi
test ebx, ebx
mov eax, ebx
je 0x401ec3
lea esi, [ebx + edi + 1]
test edi, edi
mov bl, byte [esi]
je 0x401c0e
mov byte [esi], 0
inc eax
push eax
call fcn.004028df
fst qword [esp + 0x24]
fld qword [esp + 0x1c]
lea eax, [edi - 3]
add esp, 4
test eax, eax
jle 0x401c46
fmul qword [0x40c0f0]
fxch st(1)
fmul qword [0x40c0f0]
fxch st(1)
dec eax
jne 0x401c27
fxch st(1)
fst qword [esp + 0x20]
fxch st(1)
fst qword [esp + 0x18]
fmul qword [0x40c100]
call fcn.0040297c
mov ecx, dword [ebp + 0x14]
fmul qword [0x40c100]
mov dword [ecx], eax
call fcn.0040297c
mov edx, dword [ebp + 0x10]
cmp bl, 0x2d
mov dword [edx], eax
mov byte [esi], bl
jne 0x401ce2
mov al, byte [esi + 1]
inc esi
cmp al, 0x66
je 0x401cd2
push esi
call fcn.00402550
cdq
sub eax, edx
add esp, 4
sar eax, 1
je 0x401cd2
mov eax, dword [ebp + 0xc]
push esi
mov dword [eax], 9
call fcn.00402550
mov dword [esp + 0x14], eax
mov edx, dword [esp + 0x24]
fild dword [esp + 0x14]
mov eax, dword [esp + 0x20]
push ecx
mov ecx, dword [esp + 0x2c]
fmul qword [0x40c0e8]
fstp qword [esp]
push ecx
mov ecx, dword [esp + 0x24]
push edx
mov edx, dword [ebp + 0x18]
push eax
push ecx
push 0x40d338
push edx
call fcn.0040288d
add esp, 0x20
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [ebp + 0xc]
mov dword [eax], 5
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [0x40d564], 1
jle 0x401cfe
movsx ecx, bl
push 0x80
push ecx
call fcn.00402457
add esp, 8
jmp 0x401d0e
mov eax, dword [0x40d358]
movsx edx, bl
mov al, byte [eax + edx*2]
and eax, 0x80
test eax, eax
je 0x401da6
test edi, edi
je 0x401da6
mov cl, byte [esi - 1]
lea eax, [esi - 1]
cmp cl, 0x66
jne 0x401d2b
mov esi, eax
push esi
call fcn.004010d0
add esp, 4
test eax, eax
je 0x401d96
cmp eax, 0xff
je 0x401cd2
mov ecx, dword [ebp + 0xc]
push esi
mov dword [ecx], 9
call fcn.004010d0
mov dword [esp + 0x14], eax
mov ecx, dword [esp + 0x28]
fild dword [esp + 0x14]
fmul qword [0x40c0e8]
fstp qword [esp + 0x14]
mov edx, dword [esp + 0x18]
mov eax, dword [esp + 0x14]
push edx
mov edx, dword [esp + 0x28]
push eax
mov eax, dword [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x28]
push edx
mov edx, dword [ebp + 0x18]
push eax
push ecx
push 0x40d338
push edx
call fcn.0040288d
add esp, 0x24
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0xc]
mov dword [ecx], 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov edx, dword [ebp + 0xc]
mov dword [edx], 4
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
add esi, 2
push esi
call fcn.004028df
fst qword [esp + 0x1c]
fmul qword [0x40c100]
call fcn.0040297c
mov ecx, dword [ebp + 0x14]
push 0x78
push esi
mov dword [ecx], eax
call fcn.004027a0
mov esi, eax
add esp, 0xc
test esi, esi
je case.0x401a71.87
inc esi
push esi
call fcn.004028df
fst qword [esp + 0x24]
fmul qword [0x40c100]
call fcn.0040297c
mov edx, dword [ebp + 0x10]
push 0x78
push esi
mov dword [edx], eax
call fcn.004027a0
mov esi, eax
inc esi
push esi
call fcn.004028df
mov al, byte [esi]
add esp, 0x10
fstp qword [esp + 0x10]
cmp al, 0x20
je 0x401e2d
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x401e21
cmp al, 0x20
jne 0x401e39
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x401e2d
cmp al, 0x20
je 0x401e45
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
jne 0x401e39
cmp al, 0x20
jne 0x401e4d
mov al, byte [esi + 1]
inc esi
cmp al, 0x20
je 0x401e45
push esi
call fcn.004028df
fadd qword [0x40c0e0]
mov eax, dword [esp + 0x18]
mov edx, dword [esp + 0x28]
push ecx
mov ecx, dword [esp + 0x18]
mov dword [edi], 0xb
fstp qword [esp]
push eax
mov eax, dword [esp + 0x2c]
push ecx
mov ecx, dword [esp + 0x2c]
push edx
mov edx, dword [esp + 0x2c]
push eax
mov eax, dword [ebp + 0x18]
push ecx
push edx
push 0x40d318
push eax
call fcn.0040288d
add esp, 0x28
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov ecx, dword [ebp + 0x18]
mov dword [edi], 9
mov edx, dword [0x40d1b8]
mov dword [ecx], edx
mov eax, dword [0x40d1bc]
mov dword [ecx + 4], eax
mov edx, dword [0x40d1c0]
mov dword [ecx + 8], edx
mov al, byte [0x40d1c4]
mov byte [ecx + 0xc], al
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret