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

Disassembly:
mov ecx, dword [0x97cfb8]
sub esp, 0x214
add ecx, 0x2202b
mov eax, 0x4301c4
push ebx
push ebp
mov dl, byte [ecx]
mov cl, byte [eax]
push esi
cmp dl, cl
push edi
jne 0x40869f
movsx eax, word [esp + 0x228]
lea eax, [eax + eax*2]
lea eax, [eax + eax*4]
cmp dword [eax*8 + 0x995344], 2
je 0x408baf
movsx eax, word [esp + 0x228]
xor ecx, ecx
lea eax, [eax + eax*2]
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], ecx
lea esi, [eax + eax*4]
mov word [esp + 0x24], cx
shl esi, 3
fld qword [esi + 0x9952f8]
call fcn.004198dc
push eax
lea edx, [esp + 0x20]
push str._06ld
push edx
call fcn.004195cf
mov ecx, 0x14
xor eax, eax
lea edi, [esp + 0x34]
rep stosd dword es:[edi], eax
mov al, byte [esp + 0x28]
lea ecx, [esp + 0x34]
push ecx
mov byte [esp + 0x38], al
call fcn.004196ac
mov edx, dword [esp + 0x2d]
mov ebx, eax
mov ecx, 0x14
xor eax, eax
lea edi, [esp + 0x38]
rep stosd dword es:[edi], eax
lea eax, [esp + 0x38]
mov dword [esp + 0x38], edx
push eax
call fcn.004196ac
mov ebp, eax
mov ecx, 0x14
xor eax, eax
lea edi, [esp + 0x3c]
rep stosd dword es:[edi], eax
mov cl, byte [esp + 0x35]
lea edx, [esp + 0x3c]
push edx
mov dword [esp + 0x28], ebp
mov byte [esp + 0x40], cl
call fcn.004196ac
mov edx, eax
mov ecx, 0x14
xor eax, eax
lea edi, [esp + 0x40]
rep stosd dword es:[edi], eax
mov al, byte [esp + 0x39]
mov ecx, 0x39
mov byte [esp + 0x40], al
xor eax, eax
lea edi, [esp + 0x90]
rep stosd dword es:[edi], eax
mov cx, word [esi + 0x995300]
mov word [esp + 0x96], dx
lea edx, [esp + 0x90]
mov word [esp + 0x90], ax
push edx
mov word [esp + 0x96], bx
mov word [esp + 0x98], bp
mov word [esp + 0x9c], cx
call fcn.00404b10
add esp, 0x1c
test ax, ax
jl 0x408baf
mov ecx, 0x14
xor eax, eax
lea edi, [esp + 0x28]
rep stosd dword es:[edi], eax
mov ax, word [0x994336]
lea ecx, [esp + 0x28]
push ecx
mov word [esp + 0x2c], ax
call fcn.004196ac
mov ebx, eax
add esp, 4
cmp bx, 6
je 0x408809
cmp bx, 7
je 0x408809
cmp bx, 0x33
je 0x408809
cmp bx, 0x24
je 0x408809
cmp bx, 5
je 0x408809
cmp bx, 0xf
je 0x408809
cmp bx, 0x44
je 0x408809
cmp bx, 0x34
jne 0x4089b7
xor edx, edx
cmp word [0x994346], dx
jg 0x4089b7
mov ecx, 0x32
xor eax, eax
lea edi, [esp + 0x15c]
xor esi, esi
rep stosd dword es:[edi], eax
mov ax, word [0x97fdf8]
xor edi, edi
cmp ax, dx
mov dword [esp + 0x18], edx
mov dword [esp + 0x14], edx
je 0x4089b7
test ax, ax
jle 0x4088da
movsx eax, dx
mov eax, dword [eax*4 + 0x97fe00]
cmp word [eax + 2], 2
jne 0x4088cc
mov ax, word [eax]
cmp ax, 0xb54
jle 0x4088a3
cmp ax, 0xbb8
jge 0x4088a9
test si, si
jle 0x40888f
xor ecx, ecx
test si, si
jle 0x40888f
movsx ebp, cx
cmp word [esp + ebp*2 + 0x15c], ax
je 0x4088c8
inc ecx
cmp cx, si
jl 0x408878
mov ebp, dword [esp + 0x10]
movsx ecx, si
inc esi
cmp si, 0x64
mov word [esp + ecx*2 + 0x15c], ax
jge 0x4088da
jmp 0x4088cc
cmp ax, 0xbb8
jl 0x4088bb
cmp di, ax
jge 0x4088cc
mov edi, eax
mov eax, dword [esp + 0x18]
inc eax
mov dword [esp + 0x18], eax
jmp 0x4088cc
cmp word [esp + 0x14], ax
jge 0x4088cc
mov dword [esp + 0x14], eax
jmp 0x4088cc
mov ebp, dword [esp + 0x10]
inc edx
cmp dx, word [0x97fdf8]
jl 0x40884c
mov edi, dword [0x994358]
cmp word [esp + 0x14], di
jle 0x4088f5
mov word [0x438310], 1
jmp 0x4089c5
test si, si
jne 0x408905
cmp word [esp + 0x18], si
je 0x4089b7
movsx edx, word [esp + 0x18]
mov eax, dword [0x97cfb8]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
cmp byte [eax + 0x22128], 0x32
jne 0x40897b
mov edx, 0x994336
mov ecx, str.0671
mov eax, dword [edx]
mov edx, dword [ecx]
cmp eax, edx
je 0x408968
mov edx, 0x994336
mov ecx, str.0675
mov eax, dword [edx]
mov edx, dword [ecx]
cmp eax, edx
je 0x408968
mov edx, 0x994336
mov ecx, str.0771
mov eax, dword [edx]
mov edx, dword [ecx]
cmp eax, edx
je 0x408968
mov edx, 0x994336
mov ecx, str.0775
mov eax, dword [edx]
mov edx, dword [ecx]
cmp eax, edx
jne 0x40897b
movsx ecx, word [0x994532]
shl ecx, 1
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
jmp 0x40898a
movsx edx, word [0x994532]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fdivp st(1)
fadd qword [0x42c460]
call fcn.004198dc
mov edx, dword [esp + 0x14]
movsx eax, ax
movsx ecx, si
sub edi, edx
add eax, ecx
movsx edx, di
cmp edx, eax
jge 0x4089b7
mov word [0x438310], 1
jmp 0x4089c5
cmp word [0x438310], 0
jle 0x408aeb
mov ecx, 0x14
xor eax, eax
lea edi, [esp + 0x28]
rep stosd dword es:[edi], eax
mov ax, word [0x994336]
lea ecx, [esp + 0x28]
push ecx
mov word [esp + 0x2c], ax
call fcn.004196ac
mov ebx, eax
add esp, 4
cmp bx, 6
je 0x408a5d
cmp bx, 7
je 0x408a5d
cmp bx, 0x33
je 0x408a5d
cmp bx, 0x24
je 0x408a5d
cmp bx, 0x44
je 0x408a5d
cmp bx, 0x34
je 0x408a5d
cmp bx, 5
je 0x408a20
cmp bx, 0xf
jne 0x408aeb
cmp bp, 0x55
jne 0x408aeb
mov ecx, 0x14
xor eax, eax
lea edi, [esp + 0x28]
lea edx, [esp + 0x28]
rep stosd dword es:[edi], eax
movsx eax, word [0x994346]
push 0xa
inc eax
push edx
push eax
call fcn.0042558e
add esp, 0xc
lea edx, [esp + 0x84]
mov edi, 0x430370
jmp 0x408a98
cmp bp, 0x1e
jne 0x408aeb
mov ecx, 0x14
xor eax, eax
lea edi, [esp + 0x28]
push 0xa
rep stosd dword es:[edi], eax
movsx ecx, word [0x994346]
lea eax, [esp + 0x2c]
inc ecx
push eax
push ecx
call fcn.0042558e
add esp, 0xc
lea edx, [esp + 0x84]
mov edi, 0x43036c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
lea edx, [esp + 0x84]
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea edi, [esp + 0x28]
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov esi, edi
mov edi, edx
mov edx, ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
mov ecx, edx
dec edi
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
cmp bx, 6
je 0x408b13
cmp bx, 7
je 0x408b13
cmp bx, 0x33
je 0x408b13
cmp bx, 0x24
je 0x408b13
cmp bx, 0x44
je 0x408b13
cmp bx, 0x34
jne 0x408b9a
mov ax, word [0x99438a]
mov ecx, dword [0x99438c]
mov edx, dword [0x97cfb0]
cmp bp, 0x20
je 0x408b4a
mov esi, dword [0x97cfb8]
cmp byte [esi + 0x22128], 0x32
jne 0x408b60
cmp byte [edx + 0x21ff9], 0x32
jne 0x408b60
cmp bp, 0xbd8
jne 0x408b60
cmp ax, 3
je 0x408baf
cmp ax, 2
jne 0x408b60
cmp word [0x994346], 0
jg 0x408baf
cmp bp, 0x1f
je 0x408b84
mov eax, dword [0x97cfb8]
cmp byte [eax + 0x22128], 0x32
jne 0x408b9a
cmp byte [edx + 0x21ff9], 0x32
jne 0x408b9a
cmp bp, 0xbd7
jne 0x408b9a
cmp cx, 3
je 0x408baf
cmp cx, 2
jne 0x408b9a
cmp word [0x994346], 0
jg 0x408baf
mov edx, dword [esp + 0x228]
lea ecx, [esp + 0x78]
push ecx
push edx
call fcn.0040a9e0
add esp, 8
pop edi
pop esi
pop ebp
xor ax, ax
pop ebx
add esp, 0x214
ret