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

Disassembly:
sub esp, 0x4cc
mov eax, dword [0x6eb40c]
mov ecx, dword [eax + 0xc]
push ebx
or eax, 0xffffffff
push ebp
push esi
push edi
xor edi, edi
xor ebp, ebp
xor edx, edx
xor esi, esi
cmp word [esp + 0x4ec], ax
mov dword [esp + 0x9c], ecx
mov dword [esp + 0x6c], edi
mov dword [esp + 0x74], edi
mov byte [esp + 0x2b], 0
mov dword [esp + 0x90], eax
mov dword [esp + 0x20], edi
mov dword [esp + 0xa0], eax
mov dword [esp + 0xc8], ebp
mov dword [esp + 0xd4], eax
mov dword [esp + 0xcc], edi
mov dword [esp + 0x80], eax
mov dword [esp + 0xd0], eax
mov dword [esp + 0x4c], eax
mov dword [esp + 0x14], eax
mov dword [esp + 0x78], edi
mov dword [esp + 0x84], edi
mov byte [esp + 0x13], 1
mov byte [esp + 0x37], 1
jne 0x42d3e4
mov dword [esp + 0x4ec], edi
cmp word [esp + 0x4f0], ax
jne 0x42d3f5
mov dword [esp + 0x4f0], edi
mov ecx, dword [esp + 0x4e4]
cmp ecx, eax
mov ebx, dword [0x851c30]
mov word [esp + 0x38], di
mov word [esp + 0x3c], di
je 0x42d515
mov eax, ecx
and eax, 0xffff
lea edx, [eax + eax*2]
mov eax, dword [ebx + 0x34]
mov edx, dword [eax + edx*4 + 8]
mov ax, word [edx + 0xb8]
mov ecx, dword [edx + 0x1f4]
mov word [esp + 0x4c], ax
xor eax, eax
cmp word [esp + 0x4c], 1
mov dword [esp + 0xa0], ecx
jne 0x42d44f
mov eax, 1
jmp 0x42d485
mov edi, dword [esp + 0x4c]
cmp di, 2
jne 0x42d460
mov eax, 2
jmp 0x42d485
cmp di, 3
jne 0x42d46d
mov eax, 4
jmp 0x42d485
cmp di, 4
jne 0x42d47a
mov eax, 0x38
jmp 0x42d485
cmp di, 5
jne 0x42d485
mov eax, 0x40
cmp ecx, 0xffffffff
mov dword [esp + 0x78], eax
je 0x42d55d
mov ebp, ecx
mov ecx, dword [0x871740]
mov edi, dword [ecx + 0x34]
and ebp, 0xffff
imul ebp, ebp, 0x724
movsx ecx, word [ebp + edi + 4]
mov ecx, dword [ecx*4 + 0x67f3a8]
mov cx, word [ecx + 4]
mov eax, dword [ebp + edi + 0x34]
add ebp, edi
mov word [esp + 0x78], cx
mov cl, byte [ebp + 0x245]
test cl, cl
mov dword [esp + 0xc8], ebp
mov dword [esp + 0x90], eax
jle 0x42d4e3
mov byte [esp + 0x3d], 1
jmp 0x42d4f2
mov cl, byte [ebp + 0x200]
test cl, cl
jle 0x42d4f7
mov byte [esp + 0x3d], 0
mov byte [esp + 0x3c], 1
cmp eax, 0xffffffff
je 0x42d513
mov ecx, dword [0x8716a8]
mov edi, dword [ecx + 0x34]
and eax, 0xffff
imul eax, eax, 0x6c
add eax, edi
mov dword [esp + 0x20], eax
xor edi, edi
mov eax, dword [esp + 0x4e8]
cmp eax, 0xffffffff
je 0x42d627
mov ecx, dword [ebx + 0x34]
and eax, 0xffff
lea eax, [eax + eax*2]
mov esi, dword [ecx + eax*4 + 8]
mov eax, dword [esi + 0x1f4]
xor ebx, ebx
mov bx, word [esi + 0xb8]
xor ecx, ecx
cmp bx, 1
mov dword [esp + 0xd4], eax
mov dword [esp + 0x14], ebx
jne 0x42d574
mov ecx, 1
jmp 0x42d5a6
mov eax, dword [edx + 0x218]
xor edi, edi
cmp eax, 0xffffffff
je 0x42d515
mov dword [esp + 0x78], 1
jmp 0x42d515
cmp bx, 2
jne 0x42d581
mov ecx, 2
jmp 0x42d5a6
cmp bx, 3
jne 0x42d58e
mov ecx, 4
jmp 0x42d5a6
cmp bx, 4
jne 0x42d59b
mov ecx, 0x38
jmp 0x42d5a6
cmp bx, 5
jne 0x42d5a6
mov ecx, 0x40
cmp eax, 0xffffffff
mov dword [esp + 0x84], ecx
je 0x42d613
mov ecx, dword [0x871740]
mov ebx, dword [ecx + 0x34]
and eax, 0xffff
imul eax, eax, 0x724
movsx ecx, word [eax + ebx + 4]
mov ecx, dword [ecx*4 + 0x67f3a8]
mov cx, word [ecx + 4]
add eax, ebx
mov word [esp + 0x84], cx
mov cl, byte [eax + 0x245]
test cl, cl
mov dword [esp + 0xcc], eax
jle 0x42d5fd
mov byte [esp + 0x38], 1
mov byte [esp + 0x39], 1
jmp 0x42d627
mov cl, byte [eax + 0x200]
test cl, cl
jle 0x42d627
mov byte [esp + 0x38], 1
mov byte [esp + 0x39], 0
jmp 0x42d627
cmp dword [esi + 0x218], 0xffffffff
je 0x42d627
mov dword [esp + 0x84], 1
cmp edx, edi
je 0x42d7d8
test esi, esi
je 0x42d7d8
mov eax, dword [esp + 0x4c]
cmp ax, word [esp + 0x14]
je 0x42d7d8
test ax, ax
jl 0x42d7d8
cmp ax, 0xa
jge 0x42d7d8
cmp word [esp + 0x14], 0
jl 0x42d7d8
cmp word [esp + 0x14], 0xa
jge 0x42d7d8
movsx eax, ax
lea edx, [eax + eax*4]
movsx eax, word [esp + 0x14]
lea eax, [eax + edx*2]
mov ecx, eax
and ecx, 0x1f
mov edx, 1
shl edx, cl
mov ecx, dword [0x6aa32c]
sar eax, 5
test dword [ecx + eax*4 + 0x94], edx
setne al
test al, al
je 0x42d7d8
xor bl, bl
cmp word [esp + 0x4e0], 0
mov byte [esp + 0x12], bl
jne 0x42d7bc
cmp word [esp + 0x4ec], 3
jne 0x42d6d1
mov bl, 1
mov byte [esp + 0x12], bl
jmp 0x42d769
mov eax, dword [esp + 0x20]
test eax, eax
je 0x42d6f5
mov cl, byte [eax + 0x46]
test cl, cl
jne 0x42d6f3
mov eax, dword [eax + 0x50]
cmp eax, 0xffffffff
je 0x42d6f3
cmp eax, 0x10e
jge 0x42d6f3
xor bl, bl
jmp 0x42d6f5
mov bl, 1
mov edx, dword [esp + 0x4e8]
mov eax, dword [esp + 0x4e4]
mov edi, dword [esp + 0x4c]
push 0
push 0xffffffffffffffff
push 0xffffffffffffffff
push 0xffffffffffffffff
push 6
push 0
push 0x41900000
push edx
push eax
push 0
call fcn.004300e0
add esp, 0x28
cmp eax, 0xffffffff
mov dword [esp + 0x80], eax
je 0x42d73a
mov byte [esp + 0x13], 0
mov byte [esp + 0x12], 1
mov ecx, dword [esp + 0x4f0]
movsx eax, cx
cmp eax, 3
jl 0x42d75b
cmp eax, 4
jle 0x42d753
cmp eax, 9
jne 0x42d75b
test bl, bl
jne 0x42d75b
mov byte [esp + 0x12], bl
cmp cx, 3
jne 0x42d765
xor bl, bl
jmp 0x42d774
test bl, bl
je 0x42d774
mov dword [esp + 0x4ec], 4
mov al, byte [esp + 0x12]
test al, al
je 0x42d7bc
mov edi, dword [esp + 0x4c]
mov esi, dword [esp + 0x14]
xor edx, edx
test bl, bl
setne dl
lea ecx, [esp + 0x12]
push ecx
mov eax, esi
mov byte [esp + 0x16], 0
push edx
push edi
call fcn.0045c070
mov byte [esp + 0x60], al
mov al, byte [esp + 0x1e]
add esp, 0xc
test al, al
je 0x42d7bc
mov eax, dword [esp + 0x54]
push eax
push edi
push esi
call fcn.0042ba90
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x4c]
call fcn.0045be00
test al, al
je 0x42d7d8
mov dword [esp + 0x4ec], 4
test ebp, ebp
jne 0x42d7ef
mov ecx, 0x1010101
mov dword [esp + 0x18], ecx
mov word [esp + 0x1c], cx
jmp 0x42d940
mov edx, dword [esp + 0x20]
test edx, edx
jne 0x42d89b
mov cl, byte [ebp + 0x274]
test cl, cl
sete dl
mov byte [esp + 0x18], dl
mov dl, byte [ebp + 0x27c]
test dl, dl
jne 0x42d822
cmp dword [ebp + 0x278], 0xffffffff
mov byte [esp + 0x19], 1
jne 0x42d827
mov byte [esp + 0x19], 0
cmp dword [ebp + 0x270], 0xffffffff
je 0x42d847
mov eax, dword [ebp + 0x278]
cmp eax, 0xffffffff
je 0x42d847
cmp eax, 0xb4
mov byte [esp + 0x1a], 0
jl 0x42d84c
mov byte [esp + 0x1a], 1
mov ax, word [ebp + 0x6e]
cmp ax, 3
jge 0x42d876
mov ecx, dword [ebp + 0x278]
cmp ecx, 0xffffffff
je 0x42d866
cmp ecx, 0x4b
jl 0x42d876
test dl, dl
jne 0x42d86f
test ax, ax
jle 0x42d876
mov byte [esp + 0x1b], 1
jmp 0x42d87b
mov byte [esp + 0x1b], 0
cmp ax, 6
setl al
cmp word [ebp + 0x268], 0xa
mov byte [esp + 0x1c], al
jl 0x42d93b
test dl, dl
jmp 0x42d934
mov bl, byte [ebp + 0x274]
mov eax, dword [edx + 0x50]
test bl, bl
sete cl
cmp eax, 0xffffffff
mov byte [esp + 0x18], cl
je 0x42d8be
mov cl, byte [edx + 0x44]
test cl, cl
mov byte [esp + 0x19], 1
je 0x42d8c3
mov byte [esp + 0x19], 0
cmp eax, 0xffffffff
je 0x42d8cf
cmp eax, 0xb4
jl 0x42d8db
mov cl, byte [edx + 0x44]
test cl, cl
mov byte [esp + 0x1a], 1
jne 0x42d8e0
mov byte [esp + 0x1a], 0
mov cx, word [ebp + 0x6e]
cmp cx, 3
jge 0x42d907
cmp eax, 0xffffffff
je 0x42d8f4
cmp eax, 0x4b
jl 0x42d907
mov bl, byte [edx + 0x44]
test bl, bl
jne 0x42d900
test cx, cx
jle 0x42d907
mov byte [esp + 0x1b], 1
jmp 0x42d90c
mov byte [esp + 0x1b], 0
cmp cx, 6
jge 0x42d923
cmp eax, 0xffffffff
je 0x42d91c
cmp eax, 0x4b
jl 0x42d923
mov byte [esp + 0x1c], 1
jmp 0x42d928
mov byte [esp + 0x1c], 0
mov al, byte [edx + 0x45]
test al, al
je 0x42d93b
mov al, byte [edx + 0x44]
test al, al
mov byte [esp + 0x1d], 1
jne 0x42d940
mov byte [esp + 0x1d], 0
mov eax, dword [esp + 0x4ec]
xor edx, edx
cmp ax, 0xffff
mov dword [esp + 0x94], edx
mov byte [esp + 0x98], dl
je 0x42d976
cmp ax, 4
movsx ecx, ax
mov byte [esp + ecx + 0x94], 1
jne 0x42d976
mov byte [esp + 0x97], 1
xor edx, edx
mov dword [esp + 0xa4], edx
mov dword [esp + 0xa8], edx
mov dword [esp + 0xac], edx
mov dword [esp + 0xb0], edx
mov dword [esp + 0xb4], edx
mov dword [esp + 0xb8], edx
mov dword [esp + 0xbc], edx
xor eax, eax
mov dword [esp + 0xc0], edx
mov edx, dword [0x871734]
mov ecx, 0x10
lea edi, [esp + 0xf0]
rep stosd dword es:[edi], eax
lea eax, [esp + 0xf4]
lea ecx, [esp + 0xa5]
add edx, 0x1c
mov dword [esp + 0x58], eax
mov dword [esp + 0x50], ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x5c], 0
mov dword [esp + 0x48], 2
jmp 0x42da00
mov ecx, dword [esp + 0x20]
mov ebp, dword [ecx + 8]
mov edi, dword [esp + 0x9c]
mov esi, dword [esp + 0x5c]
mov ebx, dword [ecx - 8]
mov eax, edi
sub eax, ebp
mov ebp, dword [ecx]
mov edx, 0
sets dl
mov ecx, 0
mov dword [esp + 0x44], 5
dec edx
and eax, edx
mov word [esp + esi + 0x40], ax
mov dword [esp + 0x8c], eax
mov eax, edi
sub eax, ebp
mov edx, 0
sets dl
dec edx
and eax, edx
mov word [esp + esi + 0x54], ax
mov dword [esp + 0x88], eax
mov eax, edi
sub eax, ebx
sets cl
dec ecx
and eax, ecx
mov ecx, dword [esp + 0x58]
mov word [esp + esi + 0x2c], ax
mov dword [esp + 0x54], eax
mov eax, dword [esp + 0x50]
mov byte [eax - 1], 1
mov byte [eax], 1
mov esi, 0x650994
inc eax
mov dword [esp + 0x70], eax
mov ebp, ecx
mov dword [esp + 0x30], 2
fld dword [esi - 4]
xor bl, bl
fcomp dword [0x66c40c]
xor edi, edi
fnstsw ax
test ah, 0x41
jne 0x42dad3
movsx edx, word [esp + 0x54]
fld dword [esi - 4]
fmul dword [0x66c414]
mov dword [esp + 0x2c], edx
fisub dword [esp + 0x2c]
call fcn.006343a4
test ax, ax
jle 0x42dad3
xor ecx, ecx
test ax, ax
setl cl
mov bl, 1
dec ecx
and ecx, eax
mov edi, ecx
fld dword [esi]
fcomp dword [0x66c40c]
fnstsw ax
test ah, 0x41
jne 0x42db0d
movsx edx, word [esp + 0x88]
fld dword [esi]
fmul dword [0x66c414]
mov dword [esp + 0x2c], edx
fisub dword [esp + 0x2c]
call fcn.006343a4
test ax, ax
jle 0x42db0d
cmp di, ax
mov bl, 1
jg 0x42db0d
mov edi, eax
fld dword [esi + 8]
fcomp dword [0x66c40c]
fnstsw ax
test ah, 0x41
jne 0x42db4b
movsx eax, word [esp + 0x8c]
fld dword [esi + 8]
fmul dword [0x66c414]
mov dword [esp + 0x2c], eax
fisub dword [esp + 0x2c]
call fcn.006343a4
test ax, ax
jle 0x42db4b
cmp di, ax
mov bl, 1
jg 0x42db4f
mov edi, eax
jmp 0x42db4f
test bl, bl
je 0x42db7f
fld dword [esi + 0xc]
fcomp dword [0x66c40c]
fnstsw ax
test ah, 0x41
jne 0x42db7f
movsx ecx, word [ebp]
mov dword [esp + 0x2c], ecx
fild dword [esp + 0x2c]
fld dword [esi + 0xc]
fmul dword [0x66c414]
fcompp
fnstsw ax
test ah, 0x41
jne 0x42db7f
xor bl, bl
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x30]
mov word [ebp], di
add esi, 0x14
add ebp, 2
mov byte [eax], bl
inc eax
dec ecx
mov dword [esp + 0x70], eax
mov dword [esp + 0x30], ecx
jne 0x42da90
mov edx, dword [esp + 0x44]
dec edx
mov ecx, ebp
mov dword [esp + 0x44], edx
jne 0x42da82
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x5c]
mov edx, dword [esp + 0x58]
mov ecx, dword [esp + 0x50]
mov eax, dword [esp + 0x48]
add edi, 4
add esi, 2
add edx, 0x20
add ecx, 0x10
dec eax
mov dword [esp + 0x20], edi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x58], edx
mov dword [esp + 0x50], ecx
mov dword [esp + 0x48], eax
jne 0x42da00
mov edx, dword [0x871734]
mov al, byte [edx + 0x10]
test al, al
je 0x42e93d
mov ecx, dword [esp + 0x4e0]
movsx eax, cx
movsx eax, word [eax*2 + 0x8716c0]
cmp ax, 0xffff
mov dword [esp + 0x20], eax
je 0x42e93d
movsx eax, ax
lea esi, [eax + eax*4]
cmp word [esi*8 + 0x650ae0], cx
lea esi, [esi*8 + 0x650ae0]
jne 0x42e93d
jmp 0x42dc40
mov ax, word [esi + 0x1c]
cmp ax, 0xffff
mov cx, word [esi + 2]
mov word [esp + 0x14], cx
je 0x42dc65
movsx edx, ax
mov al, byte [esp + edx + 0x94]
test al, al
je 0x42e534
mov eax, dword [0x6eb40c]
mov ecx, dword [eax + 0xc]
cmp ecx, dword [0x716e04]
jge 0x42dc87
cmp word [esp + 0x14], 6
jge 0x42dc87
test byte [esi + 0x18], 0x40
je 0x42e534
mov ax, word [esi + 0x1e]
cmp ax, 0xffff
je 0x42dca0
movsx edx, ax
mov al, byte [esp + edx + 0x18]
test al, al
je 0x42e534
xor eax, eax
mov ax, word [esi + 0x20]
cmp ax, 0xffff
je 0x42dcc7
cmp dword [esp + 0x4e4], 0xffffffff
je 0x42e534
and eax, dword [esp + 0x78]
test ax, ax
je 0x42e534
xor eax, eax
mov ax, word [esi + 0x22]
cmp ax, 0xffff
je 0x42dcf1
cmp dword [esp + 0x4e8], 0xffffffff
je 0x42e534
and eax, dword [esp + 0x84]
test ax, ax
je 0x42e534
mov ax, word [esi + 0x24]
cmp ax, 0xffff
je 0x42dd09
cmp ax, word [esp + 0x4f0]
jne 0x42e534
movsx eax, word [esp + 0x14]
xor edx, edx
mov dx, word [eax*2 + 0x650904]
mov dword [esp + 0x64], eax
movsx eax, word [esi + 8]
or ebx, 0xffffffff
xor edi, edi
xor ebp, ebp
cmp eax, 4
mov dword [esp + 0x54], edx
mov dword [esp + 0x68], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x48], ebp
mov dword [esp + 0x60], ebx
mov dword [esp + 0x50], edi
mov dword [esp + 0x70], edi
mov dword [esp + 0x30], edi
mov byte [esp + 0x12], 0
mov dword [esp + 0x2c], ebx
mov dword [esp + 0x7c], edi
mov dword [esp + 0x44], 0x3f800000
mov dword [esp + 0x88], 0x3f800000
ja case.0x42dd70.3
jmp dword [eax*4 + 0x42e948]
mov eax, dword [esp + 0xa0]
mov ecx, dword [esp + 0x4e8]
mov ebx, dword [esp + 0x4e4]
mov ebp, dword [esp + 0xc8]
lea edi, [esp + 0x3c]
mov dword [esp + 0x68], eax
mov dword [esp + 0x60], ecx
jmp 0x42df8b
mov edx, dword [esp + 0xd4]
mov eax, dword [esp + 0x4e4]
mov ebx, dword [esp + 0x4e8]
mov ebp, dword [esp + 0xcc]
lea edi, [esp + 0x38]
mov dword [esp + 0x68], edx
mov dword [esp + 0x60], eax
jmp 0x42df8b
mov al, byte [esp + 0x13]
test al, al
mov ecx, dword [esp + 0x4e8]
mov dword [esp + 0x60], ecx
je 0x42dec8
mov cx, word [esi + 0x18]
movsx eax, cl
and eax, 1
or eax, 2
test cl, 0x10
je 0x42ddff
or eax, 4
jmp 0x42de02
and eax, 0xfffffffb
test cl, 0x20
je 0x42de0c
or eax, 8
jmp 0x42de0f
and eax, 0xfffffff7
mov ecx, dword [esp + 0x90]
or eax, 0x10
push eax
xor eax, eax
cmp ecx, 0xffffffff
je 0x42de7b
mov ax, word [esi + 6]
mov ebx, dword [esp + 0x4ec]
mov edi, dword [esp + 0x4e8]
xor ecx, ecx
mov cx, word [esi + 4]
push eax
mov eax, dword [esp + 0x4e8]
push ecx
push edx
mov edx, dword [esp + 0x24]
push edx
push eax
mov eax, dword [esp + 0xa8]
push 0x41200000
and eax, 0xffff
call fcn.0042ff90
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x4c]
add esp, 0x1c
mov dword [esp + 0x80], eax
mov byte [esp + 0x13], 0
jmp 0x42df65
mov ax, word [esi + 4]
mov edi, dword [esp + 0x50]
xor ecx, ecx
mov cx, word [esi + 6]
push ecx
mov ecx, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x4f4]
push edx
mov edx, dword [esp + 0x4f0]
push ecx
mov ecx, dword [esp + 0x4f8]
push edx
push 0x41200000
push eax
push ecx
push 1
call fcn.004300e0
mov edi, dword [esp + 0x58]
add esp, 0x28
mov dword [esp + 0x80], eax
mov byte [esp + 0x13], 0
mov eax, dword [esp + 0x80]
jmp 0x42df65
mov eax, dword [esp + 0x4e8]
mov dword [esp + 0x60], eax
mov al, byte [esp + 0x37]
test al, al
je 0x42df5e
mov cx, word [esi + 0x18]
movsx eax, cl
and eax, 1
or eax, 2
test cl, 0x10
je 0x42defe
or eax, 4
jmp 0x42df01
and eax, 0xfffffffb
test cl, 0x20
je 0x42df0b
or eax, 8
jmp 0x42df0e
and eax, 0xfffffff7
push eax
mov edi, dword [esp + 0x50]
xor ecx, ecx
mov cx, word [esi + 6]
xor eax, eax
mov ax, word [esi + 4]
push ecx
mov ecx, dword [esp + 0x1c]
push eax
mov eax, dword [esp + 0x4f4]
push edx
mov edx, dword [esp + 0x4f0]
push ecx
mov ecx, dword [esp + 0x4f8]
push edx
push 0x41400000
push eax
push ecx
push 2
call fcn.004300e0
mov edi, dword [esp + 0x58]
add esp, 0x28
mov dword [esp + 0xd0], eax
mov byte [esp + 0x37], 0
mov eax, dword [esp + 0xd0]
cmp eax, 0xffffffff
mov dword [esp + 0x68], eax
je case.0x42dd70.3
mov edx, dword [0x871740]
mov ebp, eax
mov eax, dword [edx + 0x34]
and ebp, 0xffff
imul ebp, ebp, 0x724
mov ebx, dword [ebp + eax + 0x18]
add ebp, eax
mov dword [esp + 0x48], ebp
mov dword [esp + 0x24], ebx
or edx, 0xffffffff
xor cl, cl
cmp ebx, edx
je 0x42dfe3
mov eax, ebx
mov ebx, dword [0x851c30]
mov ebx, dword [ebx + 0x34]
and eax, 0xffff
lea eax, [eax + eax*2]
mov eax, dword [ebx + eax*4 + 8]
test byte [eax + 0x106], 4
jne 0x42dfe3
cmp word [eax + 0xb4], 1
je 0x42dfe3
cmp dword [eax + 0x218], edx
je 0x42dfe5
cmp dword [eax + 0x1f4], edx
jne 0x42dfe5
test byte [esi + 0x18], 8
je 0x42dfe3
mov byte [esp + 0x12], 1
jmp 0x42dfe5
mov cl, 1
test ebp, ebp
je 0x42e00d
cmp word [ebp + 0x6a], 0
je 0x42e534
mov eax, dword [esp + 0x48]
cmp word [eax + 0x6c], 0xb
jne 0x42e00d
mov dl, byte [eax + 0xa0]
test dl, dl
je 0x42e534
test cl, cl
jne 0x42e534
mov bl, byte [esp + 0x12]
test bl, bl
je 0x42e06a
mov edx, dword [esp + 0x4f0]
mov ebp, dword [esp + 0x24]
xor eax, eax
mov ax, word [esi + 4]
lea ecx, [esp + 0x88]
push ecx
mov ecx, dword [esp + 0x64]
push edx
push eax
push ecx
push ebp
call fcn.0042eca0
mov ecx, dword [esp + 0x4f8]
add esp, 0x14
cmp ebp, ecx
mov dword [esp + 0x2c], eax
jne 0x42e061
mov byte [esp + 0x13], 0
mov dword [esp + 0x80], eax
cmp eax, 0xffffffff
je 0x42e534
mov ax, word [esi + 0x1a]
cmp ax, 0xffff
je 0x42e085
test edi, edi
je 0x42e085
movsx edx, ax
cmp byte [edx + edi], 0
je 0x42e534
test bl, bl
je 0x42e0a7
mov eax, dword [esp + 0x64]
mov cx, word [eax*2 + 0x650954]
mov word [esp + 0x14], cx
mov dword [esp + 0x58], 0x40000000
jmp 0x42e1f5
mov ebx, dword [esp + 0x24]
push 0
push 0
push 1
call fcn.00430400
fstp dword [esp + 0x64]
fld dword [0x66c40c]
add esp, 0xc
fld dword [esp + 0x58]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x42e534
fld dword [esp + 0x58]
fcomp dword [0x66c52c]
fnstsw ax
test ah, 5
jp 0x42e0e9
mov dl, 1
jmp 0x42e0eb
xor dl, dl
mov eax, dword [esp + 0x68]
cmp eax, 0xffffffff
je 0x42e1f5
mov ecx, dword [0x871740]
mov ecx, dword [ecx + 0x34]
and eax, 0xffff
imul eax, eax, 0x724
movsx eax, word [eax + ecx + 4]
mov ecx, dword [eax*4 + 0x67f3a8]
mov cx, word [ecx + 4]
or eax, 0xffffffff
test cl, 2
je 0x42e128
xor eax, eax
jmp 0x42e132
test cl, 4
je 0x42e132
mov eax, 1
cmp ax, 0xffff
je 0x42e1f5
mov ecx, dword [esp + 0x64]
movsx eax, ax
movzx edi, dl
lea ecx, [ecx + eax*8]
lea ecx, [edi + ecx*2]
mov bl, byte [esp + ecx + 0xa4]
test bl, bl
jne 0x42e534
cmp word [esp + 0x14], 7
mov cx, word [esp + ecx*2 + 0xf0]
mov word [esp + 0x7c], cx
jge 0x42e1f5
movsx ecx, word [esp + 0x20]
lea eax, [eax + ecx*2]
mov ecx, dword [0x6ea33c]
lea ecx, [ecx + eax*8]
mov eax, dword [ecx]
cmp eax, 0xffffffff
je 0x42e1d7
mov edi, dword [esp + 0x9c]
sub edi, eax
mov dword [esp + 0x64], edi
fild dword [esp + 0x64]
fmul dword [0x66c84c]
fst dword [esp + 0x44]
fcomp dword [0x66c40c]
fnstsw ax
test ah, 5
jp 0x42e1be
mov dword [esp + 0x44], 0
jmp 0x42e1d7
fld dword [esp + 0x44]
fcomp dword [0x66c410]
fnstsw ax
test ah, 0x41
jne 0x42e1d7
mov dword [esp + 0x44], 0x3f800000
mov eax, dword [ecx + 4]
cmp eax, 0xffffffff
je 0x42e1f5
sub eax, dword [esp + 0x9c]
test dl, dl
je 0x42e1ed
add eax, 0x1e
test eax, eax
jg 0x42e534
movsx edx, word [esi + 8]
fld dword [edx*4 + 0x650aa8]
fmul dword [0x66c414]
call fcn.006343a4
cmp word [esp + 0x78], 1
mov dword [esp + 0x30], eax
jne 0x42e224
mov al, byte [esp + 0x12]
test al, al
jne 0x42e224
add dword [esp + 0x30], 0x1e
test byte [esi + 0x18], 4
je 0x42e232
fld dword [0x66c40c]
jmp 0x42e244
movsx eax, word [esp + 0x14]
fld dword [eax*4 + 0x650914]
fmul dword [0x66c414]
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x7c]
add edi, ebx
mov dword [esp + 0x30], edi
call fcn.006343a4
xor ebp, ebp
mov bp, ax
movsx eax, word [esi + 0xc]
add ebp, ebx
dec eax
cmp eax, 3
ja case.default.0x42e26c
jmp dword [eax*4 + 0x42e95c]
mov eax, dword [esp + 0x4e4]
jmp 0x42e286
mov eax, dword [esp + 0x24]
jmp 0x42e286
mov eax, dword [esp + 0x60]
cmp eax, 0xffffffff
je case.default.0x42e26c
mov dword [esp + 0x50], 1
mov dword [esp + 0x5c], eax
jmp 0x42e2d7
mov eax, dword [esp + 0xa0]
cmp eax, 0xffffffff
je case.default.0x42e26c
mov ecx, dword [0x871740]
mov edx, dword [ecx + 0x34]
and eax, 0xffff
imul eax, eax, 0x724
add eax, edx
cmp word [eax + 0x280], 0
jle case.default.0x42e26c
mov edx, dword [eax + 0x28c]
mov dword [esp + 0x50], 2
mov dword [esp + 0x5c], edx
xor eax, eax
mov ax, word [esi + 0xe]
cmp ax, 0xffff
mov dword [esp + 0x70], eax
je 0x42e2ed
cmp ax, 1
jne case.default.0x42e26c
movsx eax, word [esp + 0x14]
mov cx, word [eax*2 + 0x650944]
mov word [esp + 0x70], cx
mov di, word [esi + 0xa]
cmp di, 0xffff
je 0x42e30f
cmp di, 1
jne 0x42e31c
movsx edx, word [esp + 0x14]
mov di, word [edx*2 + 0x650934]
mov ax, word [esi + 4]
mov bx, word [esi + 6]
mov word [esp + 0x7c], ax
mov al, byte [esp + 0x12]
test al, al
mov dword [esp + 0x64], 0xffffffff
mov dword [esp + 0x8c], 0x3f800000
mov dword [esp + 0xc4], 0x3f800000
jne 0x42e3fb
lea ecx, [esp + 0x64]
push ecx
mov ecx, dword [esp + 0x58]
lea edx, [esp + 0x80]
push edx
mov dl, byte [esi + 0x18]
lea eax, [esp + 0x48]
push eax
mov eax, dword [esp + 0x30]
push 1
and dl, 1
push ecx
call fcn.0055c6c0
add esp, 0x14
test ax, ax
je 0x42e394
cmp ax, 1
jne 0x42e394
mov dword [esp + 0x8c], 0x3e99999a
test ax, ax
mov dword [esp + 0x40], eax
je 0x42e534
cmp bx, 0xffff
je 0x42e3fb
mov eax, dword [esp + 0x24]
mov ecx, ebx
call fcn.00564e40
test al, al
je 0x42e3fb
mov eax, dword [esp + 0x68]
cmp eax, 0xffffffff
je 0x42e3f0
mov edx, dword [0x871740]
mov ecx, dword [edx + 0x34]
and eax, 0xffff
imul eax, eax, 0x724
movsx edx, word [eax + ecx + 0x6c]
imul edx, edx, 0x38
cmp word [edx + 0x650298], 2
je 0x42e3fb
mov eax, dword [esp + 0x48]
cmp word [eax + 0x6a], 1
je 0x42e3fb
mov dword [esp + 0xc4], 0x40000000
fld dword [esp + 0xc4]
fmul dword [esi + 0x10]
fmul dword [esp + 0x8c]
fmul dword [esp + 0x58]
fmul dword [esp + 0x88]
fmul dword [esp + 0x44]
fcom dword [0x66c40c]
fnstsw ax
test ah, 0x41
jne 0x42e532
mov edx, dword [esp + 0x6c]
cmp dx, 0x10
jge 0x42e6b2
mov cx, word [esp + 0x20]
movsx eax, dx
imul eax, eax, 0x38
mov word [esp + eax + 0x190], cx
mov cl, byte [esp + 0x12]
mov byte [esp + eax + 0x161], cl
fst dword [esp + eax + 0x15c]
mov ecx, dword [esp + 0x24]
mov dword [esp + eax + 0x170], ecx
mov ecx, dword [esp + 0x68]
mov dword [esp + eax + 0x174], ecx
mov cx, word [esi + 6]
mov word [esp + eax + 0x166], cx
mov ecx, dword [esp + 0x60]
mov dword [esp + eax + 0x178], ecx
mov ecx, dword [esp + 0x2c]
mov dword [esp + eax + 0x17c], ecx
mov cx, word [esp + 0x54]
mov word [esp + eax + 0x164], cx
mov cx, word [esp + 0x30]
mov word [esp + eax + 0x16a], cx
mov cx, word [esp + 0x40]
mov word [esp + eax + 0x168], cx
mov cx, word [esp + 0x7c]
mov word [esp + eax + 0x162], cx
mov ecx, dword [esp + 0x64]
mov dword [esp + eax + 0x18c], ecx
mov cx, word [esp + 0x70]
mov word [esp + eax + 0x182], cx
mov cx, word [esp + 0x50]
mov word [esp + eax + 0x184], cx
mov ecx, dword [esp + 0x5c]
mov dword [esp + eax + 0x188], ecx
xor ecx, ecx
mov cl, byte [esi + 0x18]
mov word [esp + eax + 0x16c], bp
mov word [esp + eax + 0x180], di
shr ecx, 1
and cl, 1
mov byte [esp + eax + 0x160], cl
je 0x42e523
mov byte [esp + 0x2b], 1
fadd dword [esp + 0x74]
inc edx
mov dword [esp + 0x6c], edx
fstp dword [esp + 0x74]
jmp 0x42e534
fstp st(0)
mov ecx, dword [esp + 0x20]
mov dx, word [esp + 0x4e0]
add esi, 0x28
inc ecx
cmp word [esi], dx
mov dword [esp + 0x20], ecx
je 0x42dc40
mov edx, dword [esp + 0x6c]
test dx, dx
jle 0x42e93d
mov al, byte [esp + 0x2b]
test al, al
lea ebx, [esp + 0x15c]
je 0x42e59d
test dx, dx
mov dword [esp + 0x74], 0
jle 0x42e59d
mov eax, ebx
movzx ecx, dx
nop
cmp byte [eax + 4], 0
jne 0x42e58c
mov dword [eax], 0
fld dword [esp + 0x74]
add eax, 0x38
dec ecx
fadd dword [eax - 0x38]
fstp dword [esp + 0x74]
jne 0x42e580
cmp dx, 1
jle 0x42e61c
mov eax, dword [0x70ba18]
fld dword [0x66c40c]
imul eax, eax, 0x19660d
add eax, 0x3c6ef35f
mov ecx, eax
shr ecx, 0x10
mov dword [esp + 0x40], ecx
mov dword [0x70ba18], eax
fild dword [esp + 0x40]
movsx eax, dx
fmul dword [0x66c4cc]
lea edx, [eax - 1]
xor ecx, ecx
test edx, edx
fmul dword [esp + 0x74]
fstp dword [esp + 0x40]
jle 0x42e60d
xor eax, eax
jmp 0x42e5f0
imul eax, eax, 0x38
fadd dword [esp + eax + 0x15c]
fcom dword [esp + 0x40]
fnstsw ax
test ah, 1
je 0x42e60d
inc ecx
movsx eax, cx
cmp eax, edx
jl 0x42e5f0
movsx ebx, cx
fstp st(0)
imul ebx, ebx, 0x38
lea ebx, [esp + ebx + 0x15c]
mov ax, word [esp + 0x4f0]
mov cx, word [ebx + 0x26]
mov dx, word [esp + 0x4e0]
mov word [esp + 0xac], ax
xor eax, eax
mov ax, word [ebx + 0x34]
mov ebp, dword [ebx + 0x1c]
mov word [esp + 0xb0], cx
mov ecx, dword [ebx + 0x2c]
mov word [esp + 0xaa], ax
mov dword [esp + 0xb4], ecx
xor ecx, ecx
mov dword [esp + 0x40], eax
mov ax, word [ebx + 0x28]
mov word [esp + 0xb2], ax
mov eax, dword [esp + 0x4f4]
cmp ax, 0xffff
sete cl
mov word [esp + 0xa8], dx
mov dl, 1
mov dword [esp + 0xa4], ebp
mov byte [esp + 0xae], dl
dec ecx
and ecx, eax
mov eax, dword [esp + 0x4f8]
test eax, eax
mov word [esp + 0xb8], cx
jne 0x42e6b9
mov dword [esp + 0xbc], eax
jmp 0x42e6c5
fstp st(0)
jmp 0x42e555
mov ecx, dword [eax]
mov eax, dword [eax + 4]
mov dword [esp + 0xbc], ecx
mov dword [esp + 0xc0], eax
mov al, byte [ebx + 5]
test al, al
je 0x42e744
mov ax, word [ebx + 8]
mov esi, dword [ebx + 0x14]
xor edi, edi
mov di, word [ebx + 6]
movsx ecx, ax
cmp ecx, 0xa
mov dword [esp + 0x40], edi
ja case.0x42e6f3.3
movzx ecx, byte [ecx + 0x42e974]
jmp dword [ecx*4 + 0x42e96c]
test dl, dl
jne case.0x42e6f3.0
mov edx, dword [esp + 0xaa]
push 0xffffffffffffffff
push edx
push eax
mov eax, esi
call fcn.0042f9f0
add esp, 0xc
lea eax, [esp + 0xa4]
push eax
push esi
call fcn.0042e9d0
mov edx, dword [ebx + 0x20]
lea ecx, [esp + 0xac]
push ecx
push edx
push 1
push edi
push esi
call fcn.0042eef0
add esp, 0x1c
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4cc
ret
mov cx, word [ebx + 0xe]
mov dx, word [ebx + 0x10]
xor eax, eax
mov ax, word [ebx + 8]
mov word [esp + 0xf0], ax
mov word [esp + 0xf8], cx
mov word [esp + 0xfa], dx
mov dx, word [ebx + 0xc]
mov word [esp + 0xfc], 0x18
mov ecx, 8
mov dword [esp + 0x54], eax
mov ax, word [ebx + 6]
mov word [esp + 0xf2], ax
mov eax, dword [ebx + 0x30]
mov dword [esp + 0xf4], eax
lea esi, [esp + 0xa4]
lea edi, [esp + 0x100]
rep movsd dword es:[edi], dword [esi]
mov esi, dword [ebx + 0x14]
lea ecx, [esp + 0xf0]
mov eax, esi
call fcn.0055c8e0
cmp word [ebx + 0xa], 0xffff
je 0x42e907
mov ecx, dword [0x851c30]
mov edx, dword [ecx + 0x34]
mov eax, esi
and eax, 0xffff
cmp ebp, 0xffffffff
lea eax, [eax + eax*2]
mov edi, dword [edx + eax*4 + 8]
mov eax, dword [edi + 0x74]
mov ecx, dword [edi + 0x78]
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], ecx
je 0x42e8f2
push 1
lea edx, [esp + 0xf4]
push edx
push str.head
push esi
call fcn.004f1c60
mov eax, dword [esp + 0x160]
mov ecx, dword [esp + 0x164]
mov edx, dword [esp + 0x168]
mov dword [esp + 0xf4], eax
push 1
lea eax, [esp + 0x104]
push eax
push str.head
push ebp
mov dword [esp + 0x108], ecx
mov dword [esp + 0x10c], edx
call fcn.004f1c60
mov ecx, dword [esp + 0x170]
mov edx, dword [esp + 0x174]
mov dword [esp + 0xf8], ecx
fld dword [esp + 0xf8]
fsub dword [esp + 0x104]
mov dword [esp + 0xfc], edx
fld dword [esp + 0xfc]
mov eax, dword [esp + 0x178]
fsub dword [esp + 0x108]
mov dword [esp + 0x100], eax
add esp, 0x20
fld st(0)
fmul st(1)
fld st(2)
fmul st(3)
faddp st(1)
fsqrt
fst dword [esp + 0x6c]
fabs
fcomp qword [0x66c520]
fnstsw ax
test ah, 5
jnp 0x42e8e0
fld dword [0x66c410]
fdiv dword [esp + 0x6c]
fld st(0)
fmul st(3)
fstp dword [esp + 0x18]
fxch st(1)
fmul st(1)
fstp dword [esp + 0x1c]
fstp st(0)
fstp st(0)
fld dword [0x66c40c]
fld dword [esp + 0x6c]
fucompp
fnstsw ax
test ah, 0x44
jp 0x42e8f2
jmp 0x42e8e4
fstp st(0)
fstp st(0)
mov ecx, dword [edi + 0x74]
mov edx, dword [edi + 0x78]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], edx
lea eax, [esp + 0x18]
push eax
xor eax, eax
mov ax, word [ebx + 0xa]
push eax
push esi
call fcn.00564f00
add esp, 0xc
mov ecx, dword [ebx + 0x18]
cmp ecx, 0xffffffff
je 0x42e927
xor edx, edx
mov dx, word [ebx + 0x24]
or eax, 0xffffffff
mov edi, ebp
mov ebx, ecx
push edx
push 9
call fcn.004302f0
add esp, 8
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x54]
push 0xffffffffffffffff
push eax
push ecx
mov eax, esi
call fcn.0042f9f0
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4cc
ret