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

Disassembly:
sub esp, 0x4cc
mov eax, dword [0x6f1c94]
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 0x42d3d4
mov dword [esp + 0x4ec], edi
cmp word [esp + 0x4f0], ax
jne 0x42d3e5
mov dword [esp + 0x4f0], edi
mov ecx, dword [esp + 0x4e4]
cmp ecx, eax
mov ebx, dword [0x85ff50]
mov word [esp + 0x38], di
mov word [esp + 0x3c], di
je 0x42d505
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 0x42d43f
mov eax, 1
jmp 0x42d475
mov edi, dword [esp + 0x4c]
cmp di, 2
jne 0x42d450
mov eax, 2
jmp 0x42d475
cmp di, 3
jne 0x42d45d
mov eax, 4
jmp 0x42d475
cmp di, 4
jne 0x42d46a
mov eax, 0x38
jmp 0x42d475
cmp di, 5
jne 0x42d475
mov eax, 0x40
cmp ecx, 0xffffffff
mov dword [esp + 0x78], eax
je 0x42d54d
mov ebp, ecx
mov ecx, dword [0x87ff00]
mov edi, dword [ecx + 0x34]
and ebp, 0xffff
imul ebp, ebp, 0x724
movsx ecx, word [ebp + edi + 4]
mov ecx, dword [ecx*4 + 0x6853b8]
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 0x42d4d3
mov byte [esp + 0x3d], 1
jmp 0x42d4e2
mov cl, byte [ebp + 0x200]
test cl, cl
jle 0x42d4e7
mov byte [esp + 0x3d], 0
mov byte [esp + 0x3c], 1
cmp eax, 0xffffffff
je 0x42d503
mov ecx, dword [0x87fe68]
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 0x42d617
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 0x42d564
mov ecx, 1
jmp 0x42d596
mov eax, dword [edx + 0x218]
xor edi, edi
cmp eax, 0xffffffff
je 0x42d505
mov dword [esp + 0x78], 1
jmp 0x42d505
cmp bx, 2
jne 0x42d571
mov ecx, 2
jmp 0x42d596
cmp bx, 3
jne 0x42d57e
mov ecx, 4
jmp 0x42d596
cmp bx, 4
jne 0x42d58b
mov ecx, 0x38
jmp 0x42d596
cmp bx, 5
jne 0x42d596
mov ecx, 0x40
cmp eax, 0xffffffff
mov dword [esp + 0x84], ecx
je 0x42d603
mov ecx, dword [0x87ff00]
mov ebx, dword [ecx + 0x34]
and eax, 0xffff
imul eax, eax, 0x724
movsx ecx, word [eax + ebx + 4]
mov ecx, dword [ecx*4 + 0x6853b8]
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 0x42d5ed
mov byte [esp + 0x38], 1
mov byte [esp + 0x39], 1
jmp 0x42d617
mov cl, byte [eax + 0x200]
test cl, cl
jle 0x42d617
mov byte [esp + 0x38], 1
mov byte [esp + 0x39], 0
jmp 0x42d617
cmp dword [esi + 0x218], 0xffffffff
je 0x42d617
mov dword [esp + 0x84], 1
cmp edx, edi
je 0x42d7c8
test esi, esi
je 0x42d7c8
mov eax, dword [esp + 0x4c]
cmp ax, word [esp + 0x14]
je 0x42d7c8
test ax, ax
jl 0x42d7c8
cmp ax, 0xa
jge 0x42d7c8
cmp word [esp + 0x14], 0
jl 0x42d7c8
cmp word [esp + 0x14], 0xa
jge 0x42d7c8
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 [0x6b0aac]
sar eax, 5
test dword [ecx + eax*4 + 0x94], edx
setne al
test al, al
je 0x42d7c8
xor bl, bl
cmp word [esp + 0x4e0], 0
mov byte [esp + 0x12], bl
jne 0x42d7ac
cmp word [esp + 0x4ec], 3
jne 0x42d6c1
mov bl, 1
mov byte [esp + 0x12], bl
jmp 0x42d759
mov eax, dword [esp + 0x20]
test eax, eax
je 0x42d6e5
mov cl, byte [eax + 0x46]
test cl, cl
jne 0x42d6e3
mov eax, dword [eax + 0x50]
cmp eax, 0xffffffff
je 0x42d6e3
cmp eax, 0x10e
jge 0x42d6e3
xor bl, bl
jmp 0x42d6e5
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.004300d0
add esp, 0x28
cmp eax, 0xffffffff
mov dword [esp + 0x80], eax
je 0x42d72a
mov byte [esp + 0x13], 0
mov byte [esp + 0x12], 1
mov ecx, dword [esp + 0x4f0]
movsx eax, cx
cmp eax, 3
jl 0x42d74b
cmp eax, 4
jle 0x42d743
cmp eax, 9
jne 0x42d74b
test bl, bl
jne 0x42d74b
mov byte [esp + 0x12], bl
cmp cx, 3
jne 0x42d755
xor bl, bl
jmp 0x42d764
test bl, bl
je 0x42d764
mov dword [esp + 0x4ec], 4
mov al, byte [esp + 0x12]
test al, al
je 0x42d7ac
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.0045c120
mov byte [esp + 0x60], al
mov al, byte [esp + 0x1e]
add esp, 0xc
test al, al
je 0x42d7ac
mov eax, dword [esp + 0x54]
push eax
push edi
push esi
call fcn.0042ba80
add esp, 0xc
mov ecx, dword [esp + 0x14]
mov edx, dword [esp + 0x4c]
call fcn.0045beb0
test al, al
je 0x42d7c8
mov dword [esp + 0x4ec], 4
test ebp, ebp
jne 0x42d7df
mov ecx, 0x1010101
mov dword [esp + 0x18], ecx
mov word [esp + 0x1c], cx
jmp 0x42d930
mov edx, dword [esp + 0x20]
test edx, edx
jne 0x42d88b
mov cl, byte [ebp + 0x274]
test cl, cl
sete dl
mov byte [esp + 0x18], dl
mov dl, byte [ebp + 0x27c]
test dl, dl
jne 0x42d812
cmp dword [ebp + 0x278], 0xffffffff
mov byte [esp + 0x19], 1
jne 0x42d817
mov byte [esp + 0x19], 0
cmp dword [ebp + 0x270], 0xffffffff
je 0x42d837
mov eax, dword [ebp + 0x278]
cmp eax, 0xffffffff
je 0x42d837
cmp eax, 0xb4
mov byte [esp + 0x1a], 0
jl 0x42d83c
mov byte [esp + 0x1a], 1
mov ax, word [ebp + 0x6e]
cmp ax, 3
jge 0x42d866
mov ecx, dword [ebp + 0x278]
cmp ecx, 0xffffffff
je 0x42d856
cmp ecx, 0x4b
jl 0x42d866
test dl, dl
jne 0x42d85f
test ax, ax
jle 0x42d866
mov byte [esp + 0x1b], 1
jmp 0x42d86b
mov byte [esp + 0x1b], 0
cmp ax, 6
setl al
cmp word [ebp + 0x268], 0xa
mov byte [esp + 0x1c], al
jl 0x42d92b
test dl, dl
jmp 0x42d924
mov bl, byte [ebp + 0x274]
mov eax, dword [edx + 0x50]
test bl, bl
sete cl
cmp eax, 0xffffffff
mov byte [esp + 0x18], cl
je 0x42d8ae
mov cl, byte [edx + 0x44]
test cl, cl
mov byte [esp + 0x19], 1
je 0x42d8b3
mov byte [esp + 0x19], 0
cmp eax, 0xffffffff
je 0x42d8bf
cmp eax, 0xb4
jl 0x42d8cb
mov cl, byte [edx + 0x44]
test cl, cl
mov byte [esp + 0x1a], 1
jne 0x42d8d0
mov byte [esp + 0x1a], 0
mov cx, word [ebp + 0x6e]
cmp cx, 3
jge 0x42d8f7
cmp eax, 0xffffffff
je 0x42d8e4
cmp eax, 0x4b
jl 0x42d8f7
mov bl, byte [edx + 0x44]
test bl, bl
jne 0x42d8f0
test cx, cx
jle 0x42d8f7
mov byte [esp + 0x1b], 1
jmp 0x42d8fc
mov byte [esp + 0x1b], 0
cmp cx, 6
jge 0x42d913
cmp eax, 0xffffffff
je 0x42d90c
cmp eax, 0x4b
jl 0x42d913
mov byte [esp + 0x1c], 1
jmp 0x42d918
mov byte [esp + 0x1c], 0
mov al, byte [edx + 0x45]
test al, al
je 0x42d92b
mov al, byte [edx + 0x44]
test al, al
mov byte [esp + 0x1d], 1
jne 0x42d930
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 0x42d966
cmp ax, 4
movsx ecx, ax
mov byte [esp + ecx + 0x94], 1
jne 0x42d966
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 [0x87fef4]
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 0x42d9f0
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, 0x6559a4
inc eax
mov dword [esp + 0x70], eax
mov ebp, ecx
mov dword [esp + 0x30], 2
fld dword [esi - 4]
xor bl, bl
fcomp dword [0x672af8]
xor edi, edi
fnstsw ax
test ah, 0x41
jne 0x42dac3
movsx edx, word [esp + 0x54]
fld dword [esi - 4]
fmul dword [0x672b00]
mov dword [esp + 0x2c], edx
fisub dword [esp + 0x2c]
call fcn.006392c4
test ax, ax
jle 0x42dac3
xor ecx, ecx
test ax, ax
setl cl
mov bl, 1
dec ecx
and ecx, eax
mov edi, ecx
fld dword [esi]
fcomp dword [0x672af8]
fnstsw ax
test ah, 0x41
jne 0x42dafd
movsx edx, word [esp + 0x88]
fld dword [esi]
fmul dword [0x672b00]
mov dword [esp + 0x2c], edx
fisub dword [esp + 0x2c]
call fcn.006392c4
test ax, ax
jle 0x42dafd
cmp di, ax
mov bl, 1
jg 0x42dafd
mov edi, eax
fld dword [esi + 8]
fcomp dword [0x672af8]
fnstsw ax
test ah, 0x41
jne 0x42db3b
movsx eax, word [esp + 0x8c]
fld dword [esi + 8]
fmul dword [0x672b00]
mov dword [esp + 0x2c], eax
fisub dword [esp + 0x2c]
call fcn.006392c4
test ax, ax
jle 0x42db3b
cmp di, ax
mov bl, 1
jg 0x42db3f
mov edi, eax
jmp 0x42db3f
test bl, bl
je 0x42db6f
fld dword [esi + 0xc]
fcomp dword [0x672af8]
fnstsw ax
test ah, 0x41
jne 0x42db6f
movsx ecx, word [ebp]
mov dword [esp + 0x2c], ecx
fild dword [esp + 0x2c]
fld dword [esi + 0xc]
fmul dword [0x672b00]
fcompp
fnstsw ax
test ah, 0x41
jne 0x42db6f
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 0x42da80
mov edx, dword [esp + 0x44]
dec edx
mov ecx, ebp
mov dword [esp + 0x44], edx
jne 0x42da72
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 0x42d9f0
mov edx, dword [0x87fef4]
mov al, byte [edx + 0x10]
test al, al
je 0x42e92d
mov ecx, dword [esp + 0x4e0]
movsx eax, cx
movsx eax, word [eax*2 + 0x87fe80]
cmp ax, 0xffff
mov dword [esp + 0x20], eax
je 0x42e92d
movsx eax, ax
lea esi, [eax + eax*4]
cmp word [esi*8 + 0x655af0], cx
lea esi, [esi*8 + 0x655af0]
jne 0x42e92d
jmp 0x42dc30
mov ax, word [esi + 0x1c]
cmp ax, 0xffff
mov cx, word [esi + 2]
mov word [esp + 0x14], cx
je 0x42dc55
movsx edx, ax
mov al, byte [esp + edx + 0x94]
test al, al
je 0x42e524
mov eax, dword [0x6f1c94]
mov ecx, dword [eax + 0xc]
cmp ecx, dword [0x725124]
jge 0x42dc77
cmp word [esp + 0x14], 6
jge 0x42dc77
test byte [esi + 0x18], 0x40
je 0x42e524
mov ax, word [esi + 0x1e]
cmp ax, 0xffff
je 0x42dc90
movsx edx, ax
mov al, byte [esp + edx + 0x18]
test al, al
je 0x42e524
xor eax, eax
mov ax, word [esi + 0x20]
cmp ax, 0xffff
je 0x42dcb7
cmp dword [esp + 0x4e4], 0xffffffff
je 0x42e524
and eax, dword [esp + 0x78]
test ax, ax
je 0x42e524
xor eax, eax
mov ax, word [esi + 0x22]
cmp ax, 0xffff
je 0x42dce1
cmp dword [esp + 0x4e8], 0xffffffff
je 0x42e524
and eax, dword [esp + 0x84]
test ax, ax
je 0x42e524
mov ax, word [esi + 0x24]
cmp ax, 0xffff
je 0x42dcf9
cmp ax, word [esp + 0x4f0]
jne 0x42e524
movsx eax, word [esp + 0x14]
xor edx, edx
mov dx, word [eax*2 + 0x655914]
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.0x42dd60.3
jmp dword [eax*4 + 0x42e938]
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 0x42df7b
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 0x42df7b
mov al, byte [esp + 0x13]
test al, al
mov ecx, dword [esp + 0x4e8]
mov dword [esp + 0x60], ecx
je 0x42deb8
mov cx, word [esi + 0x18]
movsx eax, cl
and eax, 1
or eax, 2
test cl, 0x10
je 0x42ddef
or eax, 4
jmp 0x42ddf2
and eax, 0xfffffffb
test cl, 0x20
je 0x42ddfc
or eax, 8
jmp 0x42ddff
and eax, 0xfffffff7
mov ecx, dword [esp + 0x90]
or eax, 0x10
push eax
xor eax, eax
cmp ecx, 0xffffffff
je 0x42de6b
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.0042ff80
mov ebx, dword [esp + 0x40]
mov edi, dword [esp + 0x4c]
add esp, 0x1c
mov dword [esp + 0x80], eax
mov byte [esp + 0x13], 0
jmp 0x42df55
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.004300d0
mov edi, dword [esp + 0x58]
add esp, 0x28
mov dword [esp + 0x80], eax
mov byte [esp + 0x13], 0
mov eax, dword [esp + 0x80]
jmp 0x42df55
mov eax, dword [esp + 0x4e8]
mov dword [esp + 0x60], eax
mov al, byte [esp + 0x37]
test al, al
je 0x42df4e
mov cx, word [esi + 0x18]
movsx eax, cl
and eax, 1
or eax, 2
test cl, 0x10
je 0x42deee
or eax, 4
jmp 0x42def1
and eax, 0xfffffffb
test cl, 0x20
je 0x42defb
or eax, 8
jmp 0x42defe
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.004300d0
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.0x42dd60.3
mov edx, dword [0x87ff00]
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 0x42dfd3
mov eax, ebx
mov ebx, dword [0x85ff50]
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 0x42dfd3
cmp word [eax + 0xb4], 1
je 0x42dfd3
cmp dword [eax + 0x218], edx
je 0x42dfd5
cmp dword [eax + 0x1f4], edx
jne 0x42dfd5
test byte [esi + 0x18], 8
je 0x42dfd3
mov byte [esp + 0x12], 1
jmp 0x42dfd5
mov cl, 1
test ebp, ebp
je 0x42dffd
cmp word [ebp + 0x6a], 0
je 0x42e524
mov eax, dword [esp + 0x48]
cmp word [eax + 0x6c], 0xb
jne 0x42dffd
mov dl, byte [eax + 0xa0]
test dl, dl
je 0x42e524
test cl, cl
jne 0x42e524
mov bl, byte [esp + 0x12]
test bl, bl
je 0x42e05a
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.0042ec90
mov ecx, dword [esp + 0x4f8]
add esp, 0x14
cmp ebp, ecx
mov dword [esp + 0x2c], eax
jne 0x42e051
mov byte [esp + 0x13], 0
mov dword [esp + 0x80], eax
cmp eax, 0xffffffff
je 0x42e524
mov ax, word [esi + 0x1a]
cmp ax, 0xffff
je 0x42e075
test edi, edi
je 0x42e075
movsx edx, ax
cmp byte [edx + edi], 0
je 0x42e524
test bl, bl
je 0x42e097
mov eax, dword [esp + 0x64]
mov cx, word [eax*2 + 0x655964]
mov word [esp + 0x14], cx
mov dword [esp + 0x58], 0x40000000
jmp 0x42e1e5
mov ebx, dword [esp + 0x24]
push 0
push 0
push 1
call fcn.004303f0
fstp dword [esp + 0x64]
fld dword [0x672af8]
add esp, 0xc
fld dword [esp + 0x58]
fucompp
fnstsw ax
test ah, 0x44
jnp 0x42e524
fld dword [esp + 0x58]
fcomp dword [0x672c1c]
fnstsw ax
test ah, 5
jp 0x42e0d9
mov dl, 1
jmp 0x42e0db
xor dl, dl
mov eax, dword [esp + 0x68]
cmp eax, 0xffffffff
je 0x42e1e5
mov ecx, dword [0x87ff00]
mov ecx, dword [ecx + 0x34]
and eax, 0xffff
imul eax, eax, 0x724
movsx eax, word [eax + ecx + 4]
mov ecx, dword [eax*4 + 0x6853b8]
mov cx, word [ecx + 4]
or eax, 0xffffffff
test cl, 2
je 0x42e118
xor eax, eax
jmp 0x42e122
test cl, 4
je 0x42e122
mov eax, 1
cmp ax, 0xffff
je 0x42e1e5
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 0x42e524
cmp word [esp + 0x14], 7
mov cx, word [esp + ecx*2 + 0xf0]
mov word [esp + 0x7c], cx
jge 0x42e1e5
movsx ecx, word [esp + 0x20]
lea eax, [eax + ecx*2]
mov ecx, dword [0x6f0bc4]
lea ecx, [ecx + eax*8]
mov eax, dword [ecx]
cmp eax, 0xffffffff
je 0x42e1c7
mov edi, dword [esp + 0x9c]
sub edi, eax
mov dword [esp + 0x64], edi
fild dword [esp + 0x64]
fmul dword [0x672f3c]
fst dword [esp + 0x44]
fcomp dword [0x672af8]
fnstsw ax
test ah, 5
jp 0x42e1ae
mov dword [esp + 0x44], 0
jmp 0x42e1c7
fld dword [esp + 0x44]
fcomp dword [0x672afc]
fnstsw ax
test ah, 0x41
jne 0x42e1c7
mov dword [esp + 0x44], 0x3f800000
mov eax, dword [ecx + 4]
cmp eax, 0xffffffff
je 0x42e1e5
sub eax, dword [esp + 0x9c]
test dl, dl
je 0x42e1dd
add eax, 0x1e
test eax, eax
jg 0x42e524
movsx edx, word [esi + 8]
fld dword [edx*4 + 0x655ab8]
fmul dword [0x672b00]
call fcn.006392c4
cmp word [esp + 0x78], 1
mov dword [esp + 0x30], eax
jne 0x42e214
mov al, byte [esp + 0x12]
test al, al
jne 0x42e214
add dword [esp + 0x30], 0x1e
test byte [esi + 0x18], 4
je 0x42e222
fld dword [0x672af8]
jmp 0x42e234
movsx eax, word [esp + 0x14]
fld dword [eax*4 + 0x655924]
fmul dword [0x672b00]
mov edi, dword [esp + 0x30]
mov ebx, dword [esp + 0x7c]
add edi, ebx
mov dword [esp + 0x30], edi
call fcn.006392c4
xor ebp, ebp
mov bp, ax
movsx eax, word [esi + 0xc]
add ebp, ebx
dec eax
cmp eax, 3
ja case.default.0x42e25c
jmp dword [eax*4 + 0x42e94c]
mov eax, dword [esp + 0x4e4]
jmp 0x42e276
mov eax, dword [esp + 0x24]
jmp 0x42e276
mov eax, dword [esp + 0x60]
cmp eax, 0xffffffff
je case.default.0x42e25c
mov dword [esp + 0x50], 1
mov dword [esp + 0x5c], eax
jmp 0x42e2c7
mov eax, dword [esp + 0xa0]
cmp eax, 0xffffffff
je case.default.0x42e25c
mov ecx, dword [0x87ff00]
mov edx, dword [ecx + 0x34]
and eax, 0xffff
imul eax, eax, 0x724
add eax, edx
cmp word [eax + 0x280], 0
jle case.default.0x42e25c
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 0x42e2dd
cmp ax, 1
jne case.default.0x42e25c
movsx eax, word [esp + 0x14]
mov cx, word [eax*2 + 0x655954]
mov word [esp + 0x70], cx
mov di, word [esi + 0xa]
cmp di, 0xffff
je 0x42e2ff
cmp di, 1
jne 0x42e30c
movsx edx, word [esp + 0x14]
mov di, word [edx*2 + 0x655944]
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 0x42e3eb
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.00561130
add esp, 0x14
test ax, ax
je 0x42e384
cmp ax, 1
jne 0x42e384
mov dword [esp + 0x8c], 0x3e99999a
test ax, ax
mov dword [esp + 0x40], eax
je 0x42e524
cmp bx, 0xffff
je 0x42e3eb
mov eax, dword [esp + 0x24]
mov ecx, ebx
call fcn.005698a0
test al, al
je 0x42e3eb
mov eax, dword [esp + 0x68]
cmp eax, 0xffffffff
je 0x42e3e0
mov edx, dword [0x87ff00]
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 + 0x6552a8], 2
je 0x42e3eb
mov eax, dword [esp + 0x48]
cmp word [eax + 0x6a], 1
je 0x42e3eb
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 [0x672af8]
fnstsw ax
test ah, 0x41
jne 0x42e522
mov edx, dword [esp + 0x6c]
cmp dx, 0x10
jge 0x42e6a2
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 0x42e513
mov byte [esp + 0x2b], 1
fadd dword [esp + 0x74]
inc edx
mov dword [esp + 0x6c], edx
fstp dword [esp + 0x74]
jmp 0x42e524
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 0x42dc30
mov edx, dword [esp + 0x6c]
test dx, dx
jle 0x42e92d
mov al, byte [esp + 0x2b]
test al, al
lea ebx, [esp + 0x15c]
je 0x42e58d
test dx, dx
mov dword [esp + 0x74], 0
jle 0x42e58d
mov eax, ebx
movzx ecx, dx
nop
cmp byte [eax + 4], 0
jne 0x42e57c
mov dword [eax], 0
fld dword [esp + 0x74]
add eax, 0x38
dec ecx
fadd dword [eax - 0x38]
fstp dword [esp + 0x74]
jne 0x42e570
cmp dx, 1
jle 0x42e60c
mov eax, dword [0x719bf8]
fld dword [0x672af8]
imul eax, eax, 0x19660d
add eax, 0x3c6ef35f
mov ecx, eax
shr ecx, 0x10
mov dword [esp + 0x40], ecx
mov dword [0x719bf8], eax
fild dword [esp + 0x40]
movsx eax, dx
fmul dword [0x672bbc]
lea edx, [eax - 1]
xor ecx, ecx
test edx, edx
fmul dword [esp + 0x74]
fstp dword [esp + 0x40]
jle 0x42e5fd
xor eax, eax
jmp 0x42e5e0
imul eax, eax, 0x38
fadd dword [esp + eax + 0x15c]
fcom dword [esp + 0x40]
fnstsw ax
test ah, 1
je 0x42e5fd
inc ecx
movsx eax, cx
cmp eax, edx
jl 0x42e5e0
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 0x42e6a9
mov dword [esp + 0xbc], eax
jmp 0x42e6b5
fstp st(0)
jmp 0x42e545
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 0x42e734
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.0x42e6e3.3
movzx ecx, byte [ecx + 0x42e964]
jmp dword [ecx*4 + 0x42e95c]
test dl, dl
jne case.0x42e6e3.0
mov edx, dword [esp + 0xaa]
push 0xffffffffffffffff
push edx
push eax
mov eax, esi
call fcn.0042f9e0
add esp, 0xc
lea eax, [esp + 0xa4]
push eax
push esi
call fcn.0042e9c0
mov edx, dword [ebx + 0x20]
lea ecx, [esp + 0xac]
push ecx
push edx
push 1
push edi
push esi
call fcn.0042eee0
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.00561350
cmp word [ebx + 0xa], 0xffff
je 0x42e8f7
mov ecx, dword [0x85ff50]
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 0x42e8e2
push 1
lea edx, [esp + 0xf4]
push edx
push str.head
push esi
call fcn.004f6220
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.004f6220
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 [0x672c10]
fnstsw ax
test ah, 5
jnp 0x42e8d0
fld dword [0x672afc]
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 [0x672af8]
fld dword [esp + 0x6c]
fucompp
fnstsw ax
test ah, 0x44
jp 0x42e8e2
jmp 0x42e8d4
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.00569960
add esp, 0xc
mov ecx, dword [ebx + 0x18]
cmp ecx, 0xffffffff
je 0x42e917
xor edx, edx
mov dx, word [ebx + 0x24]
or eax, 0xffffffff
mov edi, ebp
mov ebx, ecx
push edx
push 9
call fcn.004302e0
add esp, 8
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x54]
push 0xffffffffffffffff
push eax
push ecx
mov eax, esi
call fcn.0042f9e0
add esp, 0xc
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x4cc
ret