Function at 0x10004f40
Capabilities:
Query environment variable

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
movzx eax, word [0x1002e014]
sub esp, 0x34
mov edx, dword [0x1002e044]
push ebx
mov ebx, 0xf
push esi
push edi
cmp eax, edx
ja 0x10004f73
mov eax, ebx
imul ebx, edx, 0x9d49
mov word [0x1002e01e], ax
add ebx, 0x20
movzx edi, word [0x1002e01a]
mov ecx, 0x1002e00c
mov esi, dword [section..data]
movzx eax, word [ecx]
imul eax, ebx
lea ebx, [edx - 0x1d]
sub eax, esi
add ebx, eax
cmp esi, edi
je 0x10004fa1
add ecx, 2
cmp ecx, str.APfL
jl 0x10004f85
mov eax, 0xfffe4490
mov dword [0x1002fd94], 0x10031118
sub eax, dword [ebp + 8]
add ebx, eax
movzx eax, byte [0x1002e040]
add eax, 0xfffe79df
add eax, ebx
push eax
mov dword [esp + 0x30], eax
mov dword [0x1002e03c], eax
call fcn.10004a10
mov di, word [0x1002e014]
add esp, 4
movzx edx, ax
movzx eax, di
cmp eax, esi
ja 0x1000500b
mov eax, dword [0x1002e044]
imul ebx, esi, 0x9d4a
mov word [0x1002e01e], ax
sub ebx, eax
add ebx, 0x12
mov ecx, ebx
sub ecx, esi
add ecx, 0x1d
mov dword [0x1002e044], ecx
jmp 0x10005011
mov ecx, dword [0x1002e044]
cmp di, dx
ja 0x1000503f
mov eax, edx
mov word [0x1002e01e], cx
imul edx, eax, 0x9d4a
sub edx, ecx
add edx, 0x12
mov ecx, edx
mov dword [0x1002e03c], edx
sub ecx, eax
add ecx, 0x1d
mov dword [0x1002e044], ecx
jmp 0x10005043
mov edx, dword [esp + 0x2c]
mov al, dl
sub al, bl
add al, 0x1d
mov byte [0x1002e040], al
movzx eax, word [0x1002e010]
cmp eax, ecx
jb 0x10005060
sub word [0x1002e026], si
push edx
call fcn.10004c60
mov esi, dword [0x1002e044]
add esp, 4
movzx ecx, ax
lea eax, [ebx*8]
sub eax, ebx
mov ebx, esi
add eax, eax
neg ebx
sub ebx, eax
movzx eax, word [0x1002e02c]
test eax, eax
je 0x100050c9
mov edx, dword [0x1002e03c]
cmp eax, 0xb
je 0x100050bd
cmp eax, 0xf3
je 0x100050ad
lea eax, [edx + 8]
lea eax, [esi + eax*2]
mov dword [0x1002e044], eax
jmp 0x100050d6
mov eax, ecx
add eax, 0xfffe79df
add eax, edx
mov dword [0x1002e044], eax
jmp 0x100050d6
lea eax, [edx + 0x12]
add eax, ecx
mov dword [0x1002e044], eax
jmp 0x100050d6
mov eax, ecx
lea edx, [esi + 4]
add edx, eax
mov dword [0x1002e03c], edx
movzx ecx, word [0x1002e00c]
push 0x33ac
push 0x10008c00
push 0x10031118
push ecx
push edx
call fcn.10012790
push dword [0x1002e03c]
mov al, bl
mov cl, 0x49
imul cl
sub al, byte [0x1002e040]
mov byte [0x1002e040], al
call fcn.10004c60
mov ecx, dword [0x1002e044]
add esp, 0x18
fld qword [0x100266d0]
mov ebx, ecx
movzx edx, ax
neg ebx
movzx eax, word [0x1002e010]
fst qword [esp + 0x30]
fstp qword [esp + 0x38]
cmp eax, ecx
jb 0x1000513f
sub word [0x1002e026], dx
mov al, byte [0x1002e03c]
mov esi, ecx
mov edx, dword [section..data]
sub al, bl
add al, 0x1d
shl esi, 4
sub esi, ecx
mov byte [0x1002e040], al
mov ecx, 0x1002e01e
nop
add word [ecx], dx
lea eax, [esi + edx]
sub ecx, 4
sub ebx, eax
cmp ecx, 0x1002e010
jg 0x10005160
push dword [0x1002e03c]
call fcn.10004a10
mov edx, dword [0x1002e044]
add esp, 4
mov ecx, dword [0x1002e03c]
mov esi, 0x1002e01e
movzx eax, ax
add ecx, 0xffffffe3
mov dword [esp + 0x14], eax
lea eax, [ebx*8]
sub eax, ebx
mov dword [esp + 0x2c], 0xa
add eax, eax
mov dword [esp + 0x28], 0x9f
mov ebx, edx
neg ebx
sub ebx, eax
mov eax, ebx
mov dword [esp + 0x24], ebx
mov edi, dword [esp + 0x24]
sub eax, edx
add ecx, eax
mov dword [esp + 0xc], ecx
mov dword [0x1002e03c], ecx
sub cl, bl
add cl, 0x1d
movzx eax, cl
mov ecx, edx
shl ecx, 4
sub ecx, edx
lea ebx, [eax*2 - 0x19]
mov dword [esp + 0x10], ebx
mov dword [section..data], ebx
add word [esi], bx
lea eax, [ecx + ebx]
sub esi, 4
sub edi, eax
cmp esi, 0x1002e010
jg 0x100051f5
mov ecx, dword [esp + 0xc]
imul eax, edx, 0x4ea5
mov dword [esp + 0x24], 0x6f
mov dword [esp + 0x1c], 0
sub eax, edi
lea eax, [eax*2 + 0x1d]
mov dword [esp + 0x10], eax
mov eax, 0x4e1
cmp word [0x1002e02e], ax
jne 0x1000524c
movzx eax, word [0x1002e028]
add edx, eax
mov dword [0x1002e044], edx
fld1
mov di, word [0x1002e02c]
sub cl, byte [esp + 0x10]
mov si, word [0x1002e014]
add cl, 0x1d
movzx eax, si
mov dword [esp + 0xc], ecx
mov byte [0x1002e040], cl
cmp eax, ebx
ja 0x1000528c
imul eax, ebx, 0x9d49
mov word [0x1002e01e], dx
sub eax, edx
lea edx, [eax + 0x2f]
mov dword [0x1002e044], edx
inc dword [esp + 0x1c]
movzx eax, di
test eax, eax
je 0x100052ed
cmp eax, 0xb
je 0x100052d2
cmp eax, 0xf3
je 0x100052b4
movzx eax, cl
lea edx, [edx + eax*2]
add edx, 0x10
mov dword [0x1002e044], edx
jmp 0x100052fe
mov eax, dword [esp + 0x14]
movzx edx, ax
movzx ecx, cl
add edx, 0xfffe79df
add edx, ecx
mov ecx, dword [esp + 0xc]
mov dword [0x1002e044], edx
jmp 0x100052fe
mov eax, dword [esp + 0x14]
movzx edx, ax
movzx ecx, cl
add edx, 0x12
add edx, ecx
mov ecx, dword [esp + 0xc]
mov dword [0x1002e044], edx
jmp 0x100052fe
lea ecx, [edx + 4]
add cl, byte [esp + 0x14]
mov dword [esp + 0xc], ecx
mov byte [0x1002e040], cl
xor eax, eax
cmp word [esp + 0x14], ax
sete al
mov dword [esp + 0x20], eax
mov edi, eax
test eax, eax
je 0x1000531f
movzx eax, cl
add eax, 4
add eax, edi
mov dword [0x1002e03c], eax
mov eax, dword [esp + 0x14]
cmp si, ax
ja 0x10005357
mov cl, 0x4a
mov word [0x1002e01e], dx
imul cl
sub al, dl
lea ecx, [eax + 0x12]
mov eax, dword [esp + 0x14]
movzx edx, cl
movzx eax, ax
sub edx, eax
mov dword [esp + 0xc], ecx
add edx, 0x1d
mov byte [0x1002e040], cl
mov dword [0x1002e044], edx
lea eax, [edi*8]
mov esi, edx
sub eax, edi
neg esi
add eax, eax
sub esi, eax
mov dword [esp + 0x10], esi
mov esi, dword [esp + 0x1c]
cmp esi, 0xa
jge 0x10005417
push 0x783
push 0x1002fd98
push 0x10026444
fstp st(0)
call dword [sym.imp.KERNEL32.dll_GetEnvironmentVariableA]
movzx eax, word [0x1002e02c]
test eax, eax
je 0x100053f3
cmp eax, 0xb
je 0x100053e0
mov edx, dword [0x1002e044]
mov ebx, dword [section..data]
fld1
cmp eax, 0xf3
je 0x100053cd
mov al, byte [esp + 0x10]
mov cl, byte [0x1002e040]
add al, 8
add al, al
add cl, al
mov byte [0x1002e040], cl
jmp 0x10005413
mov cl, byte [esp + 0x1c]
sub cl, 0x21
add cl, byte [esp + 0x10]
mov byte [0x1002e040], cl
jmp 0x10005413
mov cl, byte [esp + 0x1c]
add cl, 0x12
add cl, byte [esp + 0x10]
mov byte [0x1002e040], cl
jmp 0x10005405
mov cl, byte [0x1002e040]
movzx eax, cl
add eax, 4
add eax, esi
mov dword [esp + 0x10], eax
fld1
mov ebx, dword [section..data]
mov edx, dword [0x1002e044]
mov dword [esp + 0xc], ecx
test edi, edi
mov di, word [0x1002e010]
je 0x10005461
movzx eax, word [0x1002e01e]
movzx esi, cl
movzx ecx, word [0x1002e030]
add esi, dword [esp + 0x10]
add ecx, eax
cmp ecx, 0x20e
jne 0x1000544f
lea ebx, [ebx*2 + 4]
sub ebx, edx
add ebx, 0x1d
jmp 0x1000545b
movzx eax, di
sub eax, ebx
lea ebx, [esi + 0x10]
sub eax, edx
add ebx, eax
mov dword [section..data], ebx
mov ecx, dword [esp + 0xc]
mov eax, 0x1d
sub eax, edx
add dword [esp + 0x10], eax
movzx eax, cl
cmp di, ax
mov eax, dword [esp + 0x10]
jb 0x10005483
sub word [0x1002e026], ax
test eax, eax
mov esi, 0x4e1
mov eax, 0
sete al
mov dword [esp + 0x18], eax
mov dword [0x1002e03c], eax
test eax, eax
je 0x100054db
movzx eax, cl
mov ecx, eax
shl ecx, 4
sub ecx, eax
mov eax, dword [esp + 0x10]
neg eax
sub eax, ecx
mov ecx, dword [esp + 0x18]
add ecx, eax
mov dword [esp + 0x18], ecx
mov dword [0x1002e03c], ecx
cmp word [0x1002e02e], si
jne 0x10005507
movzx eax, word [0x1002e028]
add ebx, eax
mov dword [section..data], ebx
jmp 0x100054e4
cmp word [0x1002e02e], si
jne 0x10005507
movzx eax, word [0x1002e028]
mov ecx, dword [esp + 0x10]
add ecx, eax
mov dword [esp + 0x10], ecx
lea eax, [ecx*2 - 0x18621]
mov dword [esp + 0x18], eax
mov dword [0x1002e03c], eax
jmp 0x1000550b
mov ecx, dword [esp + 0x10]
fld qword [esp + 0x38]
fxch st(1)
fcompi st(1)
fstp st(0)
ja 0x1000571d
mov eax, dword [esp + 0x14]
movzx esi, ax
cmp ecx, esi
jbe 0x100055b0
mov ecx, ebx
mov eax, 0xfffe79df
shl ecx, 4
sub ecx, ebx
sub eax, ecx
mov ecx, dword [esp + 0x10]
add ecx, eax
mov eax, dword [esp + 0x20]
mov dword [esp + 0x10], ecx
test eax, eax
je 0x10005599
sub al, 2
add al, cl
movzx ecx, word [0x1002e030]
mov byte [0x1002e040], al
movzx eax, word [0x1002e01e]
add ecx, eax
cmp ecx, 0x20e
jne 0x10005581
lea ecx, [ebx*2 + 4]
mov ebx, ecx
sub ebx, edx
add ebx, 0x1d
mov dword [section..data], ebx
jmp 0x1000559d
mov ecx, dword [esp + 0x20]
movzx eax, di
sub eax, ebx
sub eax, edx
lea ebx, [ecx - 2]
add ebx, eax
mov dword [section..data], ebx
jmp 0x1000559d
mov ecx, dword [esp + 0x20]
mov eax, esi
neg ebx
shl eax, 4
sub eax, esi
sub ebx, eax
add ecx, ebx
mov dword [0x1002e03c], ecx
call fcn.10004d60
mov di, word [0x1002e02c]
mov ebx, dword [esp + 0x10]
movzx eax, di
test eax, eax
je 0x10005614
mov edx, dword [0x1002e03c]
cmp eax, 0xb
je 0x10005603
cmp eax, 0xf3
je 0x100055f2
mov cl, byte [0x1002e040]
lea eax, [edx + 8]
add al, al
add cl, al
mov byte [esp + 0xc], cl
mov byte [0x1002e040], cl
jmp 0x1000562b
lea ecx, [edx - 0x21]
add cl, bl
mov byte [esp + 0xc], cl
mov byte [0x1002e040], cl
jmp 0x1000562b
lea ecx, [edx + 0x12]
add cl, bl
mov byte [esp + 0xc], cl
mov byte [0x1002e040], cl
jmp 0x1000562b
mov al, byte [0x1002e040]
lea edx, [ebx + 4]
mov byte [esp + 0xc], al
movzx eax, al
add edx, eax
mov dword [0x1002e03c], edx
cmp edx, 0x5175
jbe 0x1000566c
sub edx, dword [0x1002e044]
sub edx, dword [esp + 0x14]
movzx eax, dx
push ebx
mov dword [esp + 0x18], eax
call fcn.10004a10
mov di, word [0x1002e02c]
mov edx, eax
mov al, byte [0x1002e040]
add ebx, 0x12
add esp, 4
mov dword [0x1002e044], edx
add ebx, edx
mov dword [esp + 0x10], ebx
jmp 0x10005676
mov edx, dword [0x1002e044]
mov al, byte [esp + 0xc]
fld qword [esp + 0x38]
mov ecx, dword [esp + 0x14]
fld1
movzx esi, cx
fsub st(1), st(0)
fxch st(1)
lea ecx, [esi + 0x12]
add ecx, edx
mov dword [0x1002e03c], ecx
fstp qword [esp + 0x38]
cmp ecx, ebx
jae 0x100056c0
sub cl, al
sub cl, bl
add ebx, 0xfffffffe
add ebx, edx
movzx eax, cl
mov dword [esp + 0x10], ebx
lea ecx, [ebx + 4]
mov ebx, dword [section..data]
add ecx, eax
mov dword [0x1002e03c], ecx
jmp 0x10005255
mov ebx, dword [section..data]
movzx eax, di
test eax, eax
je 0x1000570d
cmp eax, 0xb
je 0x100056fd
cmp eax, 0xf3
je 0x100056ea
lea edx, [edx + ecx*2]
add edx, 0x10
mov dword [0x1002e044], edx
jmp 0x10005255
lea edx, [esi - 0x18621]
add edx, ecx
mov dword [0x1002e044], edx
jmp 0x10005255
lea edx, [esi + 0x12]
add edx, ecx
mov dword [0x1002e044], edx
jmp 0x10005255
lea ecx, [esi + 4]
add ecx, edx
mov dword [0x1002e03c], ecx
jmp 0x10005255
mov dword [esp + 0x10], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x10], ebx
mov dword [esp + 0x10], ebx
cmp word [0x1002e02e], si
jne 0x10005775
mov eax, dword [esp + 0xc]
add al, byte [0x1002e028]
movzx eax, al
lea eax, [eax*2 - 0x18621]
mov dword [esp + 0x18], eax
mov dword [0x1002e03c], eax
jmp 0x10005779
mov eax, dword [esp + 0x18]
lea ebx, [eax - 2]
add bl, cl
mov byte [esp + 0xc], bl
mov byte [0x1002e040], bl
mov ebx, dword [esp + 0x10]
cmp eax, ecx
jbe 0x100057b2
movzx eax, byte [esp + 0xc]
add eax, 0xfffe79df
add eax, ecx
mov dword [esp + 0x18], eax
mov dword [0x1002e03c], eax
sub al, cl
add al, 0x1d
mov byte [0x1002e040], al
mov eax, dword [esp + 0x18]
add eax, 0xfffffffe
add eax, edx
movzx edi, ax
mov eax, 9
nop
add byte [eax + 0x1002e02c], bl
sub eax, 2
cmp eax, 2
jg 0x100057c0
mov esi, dword [esp + 0x18]
push esi
call fcn.10004b20
mov dword [esp + 0x14], eax
add esp, 4
mov dword [0x1002e044], eax
mov eax, 0x4e1
cmp word [0x1002e02e], ax
jne 0x10005808
add edi, dword [0x1002e028]
movzx ecx, di
lea ebx, [ecx*2 - 0x18621]
mov dword [section..data], ebx
movzx ecx, byte [0x1002e035]
mov edx, 0x10012ef0
add edx, 0x100097c0
mov eax, 0x100241b0
movzx esi, al
mov dword [esp + 0x18], edx
lea eax, [edx - 0x18621]
add eax, esi
mov dword [esp + 0x20], eax
movzx eax, byte [0x1002e03e]
add ecx, eax
cmp ecx, 0x20e
jne 0x1000584e
lea edx, [esi*2 + 4]
mov dword [esp + 0x18], edx
mov ecx, dword [esp + 0x20]
mov eax, 0x1002e068
sub eax, 0x1003a608
add eax, 0x10008c00
add ecx, eax
lea eax, [ebx - 2]
add al, dl
mov dl, byte [0x1002e03c]
mov dword [esp + 0x20], edx
test dl, dl
mov edx, dword [esp + 0x18]
mov byte [esp + 0xc], al
mov byte [0x1002e040], al
je 0x100058ad
cmp byte [esp + 0x20], 0xb
je 0x1000589f
cmp byte [esp + 0x20], 0xf3
je 0x1000589a
add cl, 8
add cl, cl
add al, cl
jmp 0x100058a4
lea eax, [ecx - 0x21]
jmp 0x100058a2
lea eax, [ecx + 0x12]
add al, dl
mov byte [esp + 0xc], al
mov byte [0x1002e040], al
fld qword [0x100266c0]
fldz
fld qword [0x100266d0]
mov ecx, dword [esp + 0x10]
mov dword [esp + 0x1c], 0x6d84
jmp 0x100058cd
fxch st(1)
fxch st(2)
movzx eax, di
lea edx, [ecx + 4]
add edx, eax
mov dword [esp + 0x20], eax
fxch st(2)
mov dword [0x1002e03c], edx
fcompi st(2)
jbe 0x100059eb
movzx eax, word [0x1002e010]
fstp st(0)
mov ebx, dword [esp + 0x18]
fstp st(0)
cmp eax, ebx
jb 0x10005903
sub word [0x1002e026], cx
push 0x20
call dword [sym.imp.KERNEL32.dll_Sleep]
mov eax, dword [esp + 0x20]
mov ecx, dword [0x1002e044]
sub eax, ecx
mov edx, dword [0x1002e03c]
sub eax, edx
fldz
add ebx, eax
mov al, byte [0x1002e040]
fld qword [esp + 0x30]
fxch st(1)
mov dword [esp + 0x18], ebx
mov ebx, dword [section..data]
mov dword [esp + 0x10], ecx
mov byte [esp + 0xc], al
mov esi, 0x4e1
cmp word [0x1002e02e], si
mov esi, dword [esp + 0x18]
jne 0x10005971
add al, byte [0x1002e028]
mov byte [esp + 0xc], al
mov byte [0x1002e040], al
movzx eax, al
lea edx, [eax*2 - 0x18621]
mov dword [0x1002e03c], edx
cmp edx, 0xf8ea
jbe 0x100059b9
mov edx, dword [esp + 0x20]
mov eax, 0x4e1
add edx, 4
add edx, ecx
mov dword [0x1002e03c], edx
cmp word [0x1002e02e], ax
jne 0x100059b9
mov al, byte [esp + 0xc]
add al, byte [0x1002e028]
mov byte [esp + 0xc], al
mov byte [0x1002e040], al
movzx eax, al
lea edx, [eax*2 - 0x18621]
mov dword [0x1002e03c], edx
movzx ecx, word [0x1002e030]
movzx eax, word [0x1002e01e]
add ecx, eax
cmp ecx, 0x20e
mov ecx, dword [esp + 0x10]
jne 0x100059f4
lea edx, [esi*2 + 4]
mov esi, edx
mov dword [0x1002e03c], edx
sub esi, ecx
add esi, 0x1d
jmp 0x10005a04
mov al, byte [esp + 0xc]
jmp 0x10005940
movzx eax, word [0x1002e010]
sub eax, ecx
sub eax, esi
lea esi, [eax - 2]
add esi, edx
movzx eax, word [0x1002e010]
mov dword [esp + 0x18], esi
cmp eax, ebx
jb 0x10005a1a
sub word [0x1002e026], cx
fcompi st(1)
jae 0x10005e8e
imul eax, ecx, 0x62b7
neg edi
sub edi, eax
movzx eax, di
mov di, word [0x1002e02e]
mov dword [esp + 0x20], eax
mov eax, 0x4e1
cmp di, ax
jne 0x10005a67
mov al, byte [esp + 0xc]
add al, byte [0x1002e028]
mov byte [esp + 0xc], al
mov byte [0x1002e040], al
movzx eax, al
lea edx, [eax*2 - 0x18621]
mov dword [0x1002e03c], edx
cmp dword [esp + 0x28], 4
jae 0x10005a8b
mov ebx, dword [esp + 0x28]
lea eax, [ecx - 2]
add eax, edx
dec ebx
movzx eax, ax
mov dword [esp + 0x28], ebx
add ebx, 4
mov dword [esp + 0x20], eax
movzx eax, ax
add ebx, eax
mov eax, edx
sub eax, ecx
sub eax, dword [esp + 0x20]
movzx eax, ax
mov dword [esp + 0x14], eax
mov al, byte [esp + 0xc]
movzx eax, al
cmp word [0x1002e010], ax
jb 0x10005ab1
sub word [0x1002e026], si
mov eax, 0x4e1
cmp di, ax
jne 0x10005ad5
movzx eax, word [0x1002e028]
add esi, eax
mov dword [esp + 0x18], esi
lea edx, [esi*2 - 0x18621]
mov dword [0x1002e03c], edx
mov eax, dword [esp + 0x14]
movzx eax, ax
mov edi, eax
mov dword [esp + 0x20], eax
shl edi, 4
sub edi, eax
mov eax, dword [esp + 0x24]
add eax, edi
sub ebx, eax
mov eax, dword [esp + 0x14]
mov dword [section..data], ebx
cmp ax, word [esp + 0x1c]
jbe 0x10005c02
lea eax, [edi + ecx]
sub edx, eax
mov eax, dword [esp + 0x18]
mov dword [0x1002e03c], edx
cmp ebx, eax
jne 0x10005ba6
movzx ecx, word [0x1002e02c]
fstp st(0)
test ecx, ecx
je 0x10005b61
cmp ecx, 0xb
je 0x10005b54
cmp ecx, 0xf3
je 0x10005b47
mov al, byte [esp + 0xc]
add dl, 8
add dl, dl
add al, dl
mov byte [0x1002e040], al
jmp 0x10005b74
sub dl, 0x21
add dl, al
mov byte [0x1002e040], dl
jmp 0x10005b74
add dl, 0x12
add dl, al
mov byte [0x1002e040], dl
jmp 0x10005b74
mov esi, dword [esp + 0x18]
movzx eax, byte [esp + 0xc]
add esi, 4
add eax, esi
mov dword [0x1002e03c], eax
mov edi, dword [esp + 0x20]
push edi
call fcn.10004b20
mov ecx, dword [0x1002e044]
mov edx, eax
mov al, byte [0x1002e040]
add esp, 4
fld qword [esp + 0x30]
mov byte [esp + 0xc], al
mov eax, dword [esp + 0x18]
mov dword [0x1002e03c], edx
mov dword [esp + 0x10], ecx
jmp 0x10005baa
mov edi, dword [esp + 0x20]
movzx esi, word [0x1002e02c]
test esi, esi
je 0x10005bed
cmp esi, 0xb
je 0x10005be2
cmp esi, 0xf3
je 0x10005bd4
lea eax, [eax + edx*2]
add eax, 0x10
mov dword [esp + 0x18], eax
mov esi, eax
mov eax, dword [esp + 0x14]
jmp 0x10005c06
mov eax, dword [esp + 0x14]
lea esi, [edx - 0x18621]
add esi, ecx
jmp 0x10005c06
mov eax, dword [esp + 0x14]
lea esi, [edx + 0x12]
add esi, ecx
jmp 0x10005c06
mov esi, dword [esp + 0x18]
lea edx, [eax + 4]
mov eax, dword [esp + 0x14]
add edx, ecx
mov dword [0x1002e03c], edx
jmp 0x10005c06
mov edi, dword [esp + 0x20]
cmp dword [esp + 0x24], 0xa
jae 0x10005c79
cmp word [0x1002e010], ax
jb 0x10005c1d
sub word [0x1002e026], cx
movzx eax, word [0x1002e02c]
test eax, eax
je 0x10005c6b
cmp eax, 0xb
je 0x10005c5a
cmp eax, 0xf3
je 0x10005c46
lea ecx, [ecx + ebx*2]
add ecx, 0x10
mov dword [esp + 0x10], ecx
mov dword [0x1002e044], ecx
jmp 0x10005c75
lea ecx, [edx - 0x18621]
add ecx, ebx
mov dword [esp + 0x10], ecx
mov dword [0x1002e044], ecx
jmp 0x10005c75
lea ecx, [edx + 0x12]
add ecx, ebx
mov dword [esp + 0x10], ecx
mov dword [0x1002e044], ecx
jmp 0x10005c75
lea eax, [edx + 4]
add eax, ecx
mov dword [section..data], eax
dec dword [esp + 0x24]
movzx eax, word [0x1002e02c]
test eax, eax
je 0x10005cbf
cmp eax, 0xb
je 0x10005cb2
cmp eax, 0xf3
je 0x10005ca2
lea ecx, [ecx + edx*2]
add ecx, 0x10
mov dword [esp + 0x10], ecx
mov dword [0x1002e044], ecx
jmp 0x10005cca
lea ebx, [edx - 0x18621]
add ebx, edi
mov dword [0x1002e044], ebx
jmp 0x10005cce
lea ebx, [edx + 0x12]
add ebx, edi
mov dword [0x1002e044], ebx
jmp 0x10005cce
lea edx, [ecx + 4]
add edx, edi
mov dword [0x1002e03c], edx
mov ebx, dword [esp + 0x10]
movzx ecx, word [0x1002e030]
movzx eax, word [0x1002e01e]
add eax, ecx
mov dword [esp + 0x20], eax
cmp eax, 0x20e
mov al, byte [esp + 0xc]
movzx eax, al
jne 0x10005d03
lea esi, [edi*2 + 4]
mov cx, si
sub cx, ax
add cx, 0x1d
jmp 0x10005d1b
mov cx, word [0x1002e010]
sub cx, ax
mov eax, dword [esp + 0x14]
sub cx, ax
sub cx, 2
add cx, si
cmp dword [esp + 0x20], 0x20e
movzx edi, cx
jne 0x10005d3c
lea esi, [esi*2 + 4]
mov dword [0x1002e03c], esi
sub esi, ebx
add esi, 0x1d
jmp 0x10005d4c
movzx eax, word [0x1002e010]
sub eax, ebx
sub eax, esi
lea esi, [edx - 2]
add esi, eax
add esi, esi
sub esi, ebx
sub esi, 0x1d
cmp word [0x1002e014], di
ja 0x10005d82
movzx ecx, di
imul eax, ecx, 0x9d4a
mov word [0x1002e01e], bx
sub eax, ebx
lea ebx, [eax + 0x12]
mov dword [0x1002e03c], ebx
sub ebx, ecx
add ebx, 0x1d
mov dword [0x1002e044], ebx
mov dword [esp + 0x20], ebx
fild dword [esp + 0x20]
test ebx, ebx
jns 0x10005d94
fadd qword [0x100266d8]
fstp qword [esp + 0x38]
fld qword [esp + 0x38]
fld qword [0x100266c8]
mov eax, dword [section..data]
fsubp st(2)
fild dword [section..data]
test eax, eax
jns 0x10005db9
fadd qword [0x100266d8]
fstp qword [esp + 0x38]
fld qword [esp + 0x38]
faddp st(2)
fnstcw word [esp + 0xc]
movzx eax, word [esp + 0xc]
or eax, 0xc00
mov dword [esp + 0x20], eax
fsub st(1), st(0)
faddp st(1)
fldcw word [esp + 0x20]
fistp qword [esp + 0x38]
mov eax, dword [esp + 0x38]
mov dword [0x1002e044], eax
fldcw word [esp + 0xc]
call fcn.10004d60
movzx eax, word [0x1002e010]
mov ecx, dword [0x1002e044]
mov dword [esp + 0x10], ecx
cmp eax, ecx
jb 0x10005e0f
sub word [0x1002e026], di
fld qword [esp + 0x30]
mov edx, dword [esp + 0x2c]
fld1
fsubp st(1)
lea ebx, [edx + 4]
add ebx, esi
mov dword [section..data], ebx
fst qword [esp + 0x30]
cmp edx, 5
jae 0x10005e71
movzx eax, word [0x1002e014]
cmp eax, ecx
ja 0x10005e5b
imul eax, ecx, 0x62b7
mov word [0x1002e01e], di
neg edi
sub edi, eax
movzx eax, di
add eax, 0x12
add eax, ecx
sub eax, ecx
add eax, 0x1d
movzx edi, ax
dec edx
movzx eax, di
mov dword [esp + 0x2c], edx
lea ebx, [edx - 0x18621]
add ebx, eax
mov dword [section..data], ebx
mov al, byte [0x1002e040]
lea esi, [ecx + 6]
fld qword [0x100266c0]
fldz
mov dword [esp + 0x18], esi
mov byte [esp + 0xc], al
jmp 0x100058c9
add edx, 0xffffffe3
movzx ebx, di
sub ebx, ecx
mov eax, esi
add ebx, edx
shl eax, 4
mov edx, dword [ebp + 8]
sub eax, esi
neg edx
fstp st(0)
sub edx, eax
mov eax, 0x4e1
add edi, edx
mov dl, byte [esp + 0xc]
cmp word [0x1002e02e], ax
jne 0x10005ed6
add dl, byte [0x1002e028]
movzx eax, dl
mov byte [0x1002e040], dl
lea ecx, [eax*2 - 0x18621]
mov dword [esp + 0x10], ecx
mov eax, esi
sub eax, ecx
movzx ecx, word [0x1002e030]
add eax, 0xffffffe3
add ebx, eax
movzx eax, word [0x1002e01e]
add ecx, eax
mov dword [0x1002e03c], ebx
cmp ecx, 0x20e
jne 0x10005f17
mov eax, dword [esp + 0x10]
add al, 2
add al, al
movzx ecx, al
mov byte [0x1002e040], al
movzx eax, di
sub ecx, eax
add ecx, 0x1d
jmp 0x10005f2f
movzx ecx, word [0x1002e010]
movzx eax, di
sub ecx, eax
movzx eax, dl
sub ecx, dword [esp + 0x10]
add ecx, 0xfffffffe
add ecx, eax
mov edi, ebx
mov dword [0x1002e044], ecx
push ebx
push dword [0x1002fd94]
sub edi, ecx
sub edi, esi
call fcn.10008670
mov esi, dword [0x1002e03c]
mov edx, eax
add esp, 8
mov dword [0x1002e044], edx
lea ecx, [esi + 0x79df]
add ecx, edi
movzx eax, cx
movzx ecx, byte [0x1002e03d]
mov dword [esp + 0x2c], eax
cmp ecx, 0x4e1
jne 0x10005f92
mov cl, byte [0x1002e040]
add cl, byte [0x1002e03a]
movzx eax, cl
mov byte [0x1002e040], cl
lea edi, [eax*2 - 0x18621]
cmp esi, 0x6e23fd8b
mov esi, dword [section..data]
jne 0x1000601d
movzx ebx, word [0x1002e01a]
mov ecx, edx
shl ecx, 4
mov eax, esi
sub ecx, edx
neg eax
sub eax, ecx
mov ecx, 0x1002e00c
add edi, eax
jmp 0x10005fc0
movzx eax, word [ecx]
imul eax, edi
lea edi, [edx - 0x1d]
sub eax, esi
add edi, eax
cmp esi, ebx
je 0x10005fdc
add ecx, 2
cmp ecx, str.APfL
jl 0x10005fc0
push 0x8b00b401
adc eax, 0x1002e044
mov ecx, 0x1002e00c
mov esi, dword [section..data]
mov eax, edx
movzx ebx, word [0x1002e01a]
sub eax, esi
add eax, 0xffffffe3
add edi, eax
movzx eax, word [ecx]
imul eax, edi
lea edi, [edx - 0x1d]
sub eax, esi
add edi, eax
cmp esi, ebx
je 0x1000601d
add ecx, 2
cmp ecx, str.APfL
jl 0x10006001
movzx ebx, byte [0x1002e040]
movzx ecx, word [0x1002e030]
mov eax, ebx
sub eax, edi
add eax, 0xffffffe3
add eax, esi
mov dword [section..data], eax
movzx eax, word [0x1002e01e]
add ecx, eax
mov eax, dword [esp + 0x2c]
cmp ecx, 0x20e
jne 0x10006067
add edx, edx
movzx ecx, ax
sub edx, ecx
mov eax, ebx
add edx, 0x21
mov dword [0x1002e044], edx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
movzx ecx, word [0x1002e010]
movzx eax, ax
sub ecx, eax
lea eax, [edi - 2]
sub ecx, edx
add eax, ecx
pop edi
mov dword [0x1002e044], eax
mov eax, ebx
pop esi
pop ebx
mov esp, ebp
pop ebp
ret