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

Disassembly:
push 0xffffffffffffffff
push 0x1006eea5
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x478
mov eax, dword [esp + 0x4a4]
mov edx, dword [esp + 0x49c]
push ebx
push ebp
push esi
mov ebx, ecx
mov ecx, dword [esp + 0x4ac]
push edi
push eax
mov eax, dword [esp + 0x4ac]
push ecx
mov ecx, dword [esp + 0x4ac]
push edx
mov edx, dword [esp + 0x4ac]
push eax
mov eax, dword [esp + 0x4ac]
push ecx
push edx
push eax
mov ecx, ebx
mov dword [esp + 0x70], ebx
call fcn.1001efa0
mov eax, 0xd
xor ebp, ebp
mov dword [ebx + 0xdb0], eax
mov dword [ebx + 0xdc0], eax
mov esi, dword [ebx + 0x14]
mov dword [esp + 0x490], ebp
cmp esi, ebp
mov dword [ebx], 0x100712d8
mov dword [esp + 0x2c], eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x58], eax
mov dword [ebx + 0x5a4], ebp
mov dword [ebx + 0xa0], ebp
je 0x1001fcb6
push 8
call fcn.10060e1a
add esp, 4
mov dword [esp + 0x10], eax
cmp eax, ebp
mov byte [esp + 0x490], 1
je 0x1001fc1d
push esi
mov ecx, eax
call fcn.100327f0
mov edi, eax
jmp 0x1001fc1f
xor edi, edi
mov eax, dword [edi]
xor esi, esi
cmp eax, ebp
mov byte [esp + 0x490], 0
jle 0x1001fc49
mov ecx, dword [edi + 4]
cmp byte [esi + ecx], 0x20
jne 0x1001fc44
push 1
push esi
mov ecx, edi
call fcn.100339f0
jmp 0x1001fc45
inc esi
cmp esi, dword [edi]
jl 0x1001fc2f
xor ebp, ebp
mov ebx, 0x41
lea eax, [ebx + ebp]
mov ecx, edi
cdq
sub eax, edx
mov esi, eax
sar esi, 1
mov edx, dword [esi*8 + 0x1008d248]
push edx
call fcn.10033c20
test eax, eax
jl 0x1001fc71
mov ebp, esi
jmp 0x1001fc73
mov ebx, esi
mov eax, ebx
sub eax, ebp
cmp eax, 1
jg 0x1001fc50
mov ecx, dword [ebp*8 + 0x1008d248]
lea esi, [ebp*8 + 0x1008d248]
push ecx
mov ecx, edi
call fcn.10033c20
test eax, eax
jne 0x1001fca0
mov edx, dword [esp + 0x54]
mov dword [edx + 0xa0], esi
mov ecx, edi
call fcn.100328c0
push edi
call fcn.10060e0f
mov ebx, dword [esp + 0x58]
add esp, 4
xor ebp, ebp
mov eax, dword [ebx + 0xa0]
xor esi, esi
cmp eax, ebp
mov dword [esp + 0x20], esi
je 0x1001fd29
mov eax, dword [eax + 4]
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x10], eax
mov edi, 0x100848c8
mov esi, dword [edi]
mov eax, dword [esp + 0x10]
mov dl, byte [eax]
mov cl, dl
cmp dl, byte [esi]
jne 0x1001fd02
test cl, cl
je 0x1001fcfc
mov dl, byte [eax + 1]
mov cl, dl
cmp dl, byte [esi + 1]
jne 0x1001fd02
add eax, 2
add esi, 2
test cl, cl
jne 0x1001fcdc
xor ebp, ebp
xor eax, eax
jmp 0x1001fd09
sbb eax, eax
sbb eax, 0xffffffff
xor ebp, ebp
cmp eax, ebp
je 0x1001fe9b
mov edx, dword [esp + 0x1c]
add edi, 0x18
inc edx
cmp edi, 0x10084a18
mov dword [esp + 0x1c], edx
jl 0x1001fcd6
mov esi, dword [esp + 0x20]
mov eax, 0x66666666
mov dword [ebx + 0x8c], 0x3fee6666
mov dword [ebx + 0x88], eax
mov dword [ebx + 0x90], eax
mov dword [ebx + 0x94], 0xbfd66666
mov dword [ebx + 0x78], ebp
mov dword [ebx + 0x7c], ebp
mov dword [ebx + 0x70], ebp
mov dword [ebx + 0x74], ebp
mov dword [ebx + 0x68], ebp
mov dword [ebx + 0x6c], ebp
mov dword [ebx + 0x60], ebp
mov dword [ebx + 0x64], ebp
mov ecx, dword [esp + 0x4b8]
mov edx, dword [esp + 0x498]
push ecx
push edx
mov ecx, ebx
call fcn.1001f690
cmp esi, ebp
je 0x1001fe12
cmp dword [ebx + 0x24], ebp
jge 0x1001fe12
movsx eax, word [esi + 8]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x100712c8]
fstp qword [ebx + 0x88]
movsx ecx, word [esi + 0xa]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fmul qword [0x100712c8]
fstp qword [ebx + 0x90]
movsx edx, word [esi + 0xc]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul qword [0x100712c8]
fstp qword [ebx + 0x60]
movsx eax, word [esi + 0xe]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x100712c8]
fstp qword [ebx + 0x68]
movsx ecx, word [esi + 0x10]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fmul qword [0x100712c8]
fstp qword [ebx + 0x70]
movsx edx, word [esi + 0x12]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul qword [0x100712c8]
fstp qword [ebx + 0x78]
mov ecx, dword [esp + 0x4b8]
lea edi, [ebx + 0x30]
mov eax, 0x3ff00000
push ebp
mov dword [ebx + 0x4c], eax
mov dword [edi + 4], eax
lea eax, [esp + 0x30]
mov dword [ebx + 0x48], ebp
push eax
push 0x1008dbc0
mov dword [edi], ebp
mov dword [ebx + 0x58], ebp
mov dword [ebx + 0x5c], ebp
mov dword [ebx + 0x50], ebp
mov dword [ebx + 0x54], ebp
mov dword [ebx + 0x40], ebp
mov dword [ebx + 0x44], ebp
mov dword [ebx + 0x38], ebp
mov dword [ebx + 0x3c], ebp
call fcn.1000bbe0
cmp dword [eax], 6
jne 0x1001ff5a
xor esi, esi
mov ecx, dword [esp + 0x34]
cmp esi, dword [ecx + 0xc]
jge 0x1001ff5a
lea edx, [esp + 0x3c]
push edx
push esi
call fcn.10004df0
mov eax, dword [eax]
cmp eax, 1
je 0x1001fe87
cmp eax, 2
jne 0x1001ff44
cmp dword [esp + 0x3c], 1
jne 0x1001ff3e
fild dword [esp + 0x44]
jmp 0x1001ff42
mov eax, dword [esp + 0x1c]
lea eax, [eax + eax*2]
lea esi, [eax*8 + 0x100848c8]
cmp esi, ebp
mov dword [esp + 0x20], esi
je 0x1001fd29
movsx ecx, word [esi + 8]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fmul qword [0x100712c8]
fstp qword [ebx + 0x88]
movsx edx, word [esi + 0xa]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul qword [0x100712c8]
fstp qword [ebx + 0x90]
movsx eax, word [esi + 0xc]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x100712c8]
fstp qword [ebx + 0x60]
movsx ecx, word [esi + 0xe]
mov dword [esp + 0x10], ecx
fild dword [esp + 0x10]
fmul qword [0x100712c8]
fstp qword [ebx + 0x68]
movsx edx, word [esi + 0x10]
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul qword [0x100712c8]
fstp qword [ebx + 0x70]
movsx eax, word [esi + 0x12]
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x100712c8]
fstp qword [ebx + 0x78]
jmp 0x1001fd66
fld qword [esp + 0x44]
fstp qword [edi]
lea ecx, [esp + 0x3c]
call fcn.10045c00
inc esi
add edi, 8
cmp esi, 6
jl 0x1001fe5f
lea ecx, [esp + 0x2c]
call fcn.10045c00
cmp dword [ebx + 0x18], 4
jne 0x10020036
mov ecx, dword [esp + 0x4b8]
lea eax, [esp + 0x2c]
push ebp
push eax
push 0x1008da28
call fcn.1000bbe0
cmp dword [eax], 6
jne 0x1001ffd5
lea eax, [ebx + 0x60]
xor esi, esi
mov edi, eax
mov ecx, dword [esp + 0x34]
cmp esi, dword [ecx + 0xc]
jge 0x1001ffd5
lea edx, [esp + 0x3c]
push edx
push esi
call fcn.10004df0
mov eax, dword [eax]
cmp eax, 1
je 0x1001ffb0
cmp eax, 2
jne 0x1001ffc3
cmp dword [esp + 0x3c], 1
jne 0x1001ffbd
fild dword [esp + 0x44]
jmp 0x1001ffc1
fld qword [esp + 0x44]
fstp qword [edi]
lea ecx, [esp + 0x3c]
call fcn.10045c00
inc esi
add edi, 8
cmp esi, 4
jl 0x1001ff90
lea ecx, [esp + 0x2c]
call fcn.10045c00
mov edi, dword [esp + 0x4b8]
lea esi, [ebx + 0xdb0]
push ebp
push esi
push 0x1008dbb4
mov ecx, edi
call fcn.1000bbe0
cmp dword [eax], 7
je 0x10020016
push 0x1008db7c
push 0xffffffffffffffff
push 1
call fcn.1000bd30
add esp, 0xc
mov ecx, esi
call fcn.10045c00
lea esi, [ebx + 0xdc0]
push ebp
push esi
push str.Resources
mov ecx, edi
call fcn.1000bbe0
cmp dword [eax], 7
je 0x10020036
mov ecx, esi
call fcn.10045c00
mov ecx, dword [esp + 0x4b8]
xor ebp, ebp
lea eax, [esp + 0x2c]
push ebp
push eax
push 0x1008db70
mov dword [ebx + 0x5a8], ebp
mov dword [ebx + 0x5ac], ebp
mov dword [esp + 0x28], ebp
call fcn.1000bbe0
mov eax, dword [esp + 0x2c]
cmp eax, 7
jne 0x10020106
lea ecx, [esp + 0x3c]
push ebp
push ecx
mov ecx, dword [esp + 0x3c]
push 0x1008db60
call fcn.1000bbe0
cmp dword [esp + 0x3c], 4
jne 0x100200fb
mov eax, dword [esp + 0x44]
mov edi, 0x1008db4c
mov esi, eax
mov ecx, 0x11
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x100200c1
mov eax, 1
lea ecx, [esp + 0x3c]
mov dword [ebx + 0x5a8], eax
mov dword [ebx + 0x5ac], eax
mov ebp, 0x10086ea8
call fcn.10045c00
jmp 0x10020173
mov edi, 0x1008db38
mov esi, eax
mov ecx, 0x12
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x100200da
mov ebp, 0x100872a8
jmp 0x100200f1
mov esi, eax
mov edi, 0x1008db28
mov ecx, 0x10
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x100200fb
mov ebp, 0x100876a8
mov dword [ebx + 0x5a8], 1
lea ecx, [esp + 0x3c]
call fcn.10045c00
jmp 0x10020173
cmp eax, 4
jne 0x10020173
mov eax, dword [esp + 0x34]
mov edi, 0x1008db4c
mov esi, eax
mov ecx, 0x11
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10020139
mov eax, 1
mov ebp, 0x10086ea8
mov dword [ebx + 0x5a8], eax
mov dword [ebx + 0x5ac], eax
jmp 0x10020173
mov edi, 0x1008db38
mov esi, eax
mov ecx, 0x12
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
jne 0x10020152
mov ebp, 0x100872a8
jmp 0x10020169
mov esi, eax
mov edi, 0x1008db28
mov ecx, 0x10
xor eax, eax
repe cmpsb byte [esi], byte es:[edi]
jne 0x10020173
mov ebp, 0x100876a8
mov dword [ebx + 0x5a8], 1
mov eax, dword [ebx + 0x18]
xor edi, edi
cmp eax, 1
mov dword [esp + 0x4c], edi
mov dword [esp + 0x10], edi
jne 0x10020247
cmp dword [ebx + 0x24], edi
jl 0x10020247
mov edx, dword [esp + 0x498]
lea ecx, [esp + 0x18]
push ecx
push edx
mov ecx, ebx
call fcn.1001fa40
mov esi, eax
cmp esi, edi
mov dword [esp + 0x14], esi
je 0x10020313
mov eax, dword [esp + 0x18]
push eax
push esi
call fcn.1005e910
mov edi, eax
add esp, 8
test edi, edi
mov dword [esp + 0x4c], edi
je 0x10020241
mov ecx, edi
call fcn.1005eaa0
test eax, eax
je 0x1002022c
mov esi, dword [ebx + 0x20]
test esi, esi
je 0x100201ee
mov ecx, esi
call fcn.100328c0
push esi
call fcn.10060e0f
add esp, 4
push 8
call fcn.10060e1a
mov esi, eax
add esp, 4
mov dword [esp + 0x18], esi
test esi, esi
mov byte [esp + 0x490], 2
je 0x1002021b
mov ecx, edi
call fcn.1005eaa0
push eax
mov ecx, esi
call fcn.100326a0
jmp 0x1002021d
xor eax, eax
mov esi, dword [esp + 0x14]
mov byte [esp + 0x490], 0
mov dword [ebx + 0x20], eax
test ebp, ebp
jne 0x10020241
mov ecx, edi
call fcn.1005eac0
mov ebp, eax
mov dword [esp + 0x1c], 1
push esi
jmp 0x1002030b
cmp eax, 2
jne 0x10020313
cmp dword [ebx + 0x24], edi
jl 0x10020313
mov edx, dword [esp + 0x498]
lea ecx, [esp + 0x18]
push ecx
push edx
mov ecx, ebx
call fcn.1001fa40
cmp eax, edi
mov dword [esp + 0x14], eax
je 0x10020313
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
push eax
push ecx
call fcn.1005f020
mov edi, eax
add esp, 8
test edi, edi
mov dword [esp + 0x10], edi
je 0x10020306
mov ecx, edi
call fcn.1005f200
test eax, eax
je 0x100202f1
mov esi, dword [ebx + 0x20]
test esi, esi
je 0x100202b7
mov ecx, esi
call fcn.100328c0
push esi
call fcn.10060e0f
add esp, 4
push 8
call fcn.10060e1a
mov esi, eax
add esp, 4
mov dword [esp + 0x18], esi
test esi, esi
mov byte [esp + 0x490], 3
je 0x100202e4
mov ecx, edi
call fcn.1005f200
push eax
mov ecx, esi
call fcn.100326a0
jmp 0x100202e6
xor eax, eax
mov byte [esp + 0x490], 0
mov dword [ebx + 0x20], eax
test ebp, ebp
jne 0x10020306
mov ecx, edi
call fcn.1005f210
mov ebp, eax
mov dword [esp + 0x1c], 1
mov edx, dword [esp + 0x14]
push edx
call fcn.10032620
add esp, 4
test ebp, ebp
jne 0x10020347
mov eax, dword [esp + 0x20]
test eax, eax
je 0x10020335
mov ecx, dword [ebx + 0x24]
test ecx, ecx
jge 0x10020335
mov ebp, dword [eax + 4]
mov dword [ebx + 0x5a8], 1
jmp 0x10020347
mov eax, dword [ebx + 0x18]
mov ebp, 0x100876a8
cmp eax, 5
je 0x10020347
mov ebp, 0x10087aa8
xor esi, esi
lea edi, [ebx + 0xa4]
mov eax, dword [ebp + esi*4]
mov dword [edi], eax
mov eax, dword [esp + 0x1c]
test al, al
mov byte [ebx + esi + 0x4a4], al
je 0x1002037c
cmp dword [edi], 0
je 0x1002037c
mov ecx, dword [ebp + esi*4]
push ecx
call fcn.10032640
mov dword [edi], eax
mov eax, dword [esp + 0x20]
add esp, 4
inc esi
add edi, 4
cmp esi, 0x100
jl 0x1002034f
cmp dword [ebx + 0x18], 2
jne 0x100203c8
mov ecx, dword [ebx + 0x24]
test ecx, ecx
jl 0x100203c8
test eax, eax
je 0x100203c8
lea esi, [ebx + 0x4a4]
mov eax, 0x10087aa8
lea ecx, [ebx + 0xa4]
cmp dword [ecx], 0
jne 0x100203ba
mov edx, dword [eax]
test edx, edx
je 0x100203ba
mov dword [ecx], edx
mov byte [esi], 0
add eax, 4
add ecx, 4
inc esi
cmp eax, 0x10087ea8
jl 0x100203aa
mov eax, dword [esp + 0x2c]
xor ebp, ebp
cmp eax, 7
jne 0x100204b1
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x3c]
push ebp
push edx
push 0x1008db1c
call fcn.1000bbe0
cmp dword [esp + 0x3c], 6
jne 0x100204a8
mov ecx, dword [esp + 0x44]
mov dword [ebx + 0x5a8], 1
xor esi, esi
xor edi, edi
cmp dword [ecx + 0xc], ebp
jle 0x100204a8
lea eax, [esp + 0x58]
push eax
push edi
call fcn.10004df0
mov eax, dword [esp + 0x58]
cmp eax, 1
jne 0x1002042b
mov esi, dword [esp + 0x60]
jmp 0x10020491
cmp eax, 4
jne 0x10020476
cmp esi, ebp
jl 0x10020473
cmp esi, 0x100
jge 0x10020473
mov al, byte [ebx + esi + 0x4a4]
test al, al
je 0x10020457
mov ecx, dword [ebx + esi*4 + 0xa4]
push ecx
call fcn.10032620
add esp, 4
mov edx, dword [esp + 0x60]
push edx
call fcn.10032640
mov dword [ebx + esi*4 + 0xa4], eax
add esp, 4
mov byte [ebx + esi + 0x4a4], 1
inc esi
jmp 0x10020491
lea ecx, [esp + 0x58]
call fcn.10045cf0
push eax
push 0x1008dae0
push 0xffffffffffffffff
push 1
call fcn.1000bd30
add esp, 0x10
lea ecx, [esp + 0x58]
call fcn.10045c00
mov ecx, dword [esp + 0x44]
inc edi
cmp edi, dword [ecx + 0xc]
jl 0x10020411
lea ecx, [esp + 0x3c]
call fcn.10045c00
lea ecx, [esp + 0x2c]
call fcn.10045c00
mov ecx, dword [esp + 0x4c]
cmp ecx, ebp
je 0x100204c8
mov eax, dword [ecx]
push 1
call dword [eax]
mov ecx, dword [esp + 0x10]
cmp ecx, ebp
je 0x100204d6
mov edx, dword [ecx]
push 1
call dword [edx]
lea eax, [ebx + 0xa4]
mov dword [esp + 0x4c], ebp
mov dword [esp + 0x10], ebp
mov dword [esp + 0x14], ebp
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
mov ebp, dword [eax]
test ebp, ebp
je 0x10020602
mov ecx, dword [0x101e5e58]
push ebp
call fcn.10031f20
mov ecx, dword [esp + 0x14]
test eax, eax
mov dword [esp + ecx*4 + 0x88], eax
jne 0x10020611
mov edi, 0x1008dad8
mov esi, ebp
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10020611
mov edi, ebp
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 3
jne 0x10020597
movsx eax, byte [ebp]
push eax
call fcn.10061a97
add esp, 4
test eax, eax
je 0x10020597
movsx ecx, byte [ebp + 1]
push ecx
call fcn.10061b3d
add esp, 4
test eax, eax
je 0x10020597
movsx edx, byte [ebp + 2]
push edx
call fcn.10061b3d
add esp, 4
test eax, eax
je 0x10020597
mov al, byte [ebp + 1]
cmp al, 0x61
jl 0x1002057c
cmp al, 0x66
jle 0x100205f0
cmp al, 0x41
jl 0x10020584
cmp al, 0x46
jle 0x100205f0
mov al, byte [ebp + 2]
cmp al, 0x61
jl 0x1002058f
cmp al, 0x66
jle 0x100205f0
cmp al, 0x41
jl 0x10020597
cmp al, 0x46
jle 0x100205f0
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
cmp ecx, 2
jne 0x100205f8
movsx eax, byte [ebp]
push eax
call fcn.10061b3d
add esp, 4
test eax, eax
je 0x100205f8
movsx ecx, byte [ebp + 1]
push ecx
call fcn.10061b3d
add esp, 4
test eax, eax
je 0x100205f8
mov al, byte [ebp]
cmp al, 0x61
jl 0x100205d5
cmp al, 0x66
jle 0x100205f0
cmp al, 0x41
jl 0x100205dd
cmp al, 0x46
jle 0x100205f0
mov al, byte [ebp + 1]
cmp al, 0x61
jl 0x100205e8
cmp al, 0x66
jle 0x100205f0
cmp al, 0x41
jl 0x100205f8
cmp al, 0x46
jg 0x100205f8
mov dword [esp + 0x4c], 1
mov dword [esp + 0x10], 1
jmp 0x10020611
mov edx, dword [esp + 0x14]
mov dword [esp + edx*4 + 0x88], 0
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
inc eax
add edx, 4
cmp eax, 0x100
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
jl 0x100204ec
mov eax, dword [esp + 0x10]
test eax, eax
je 0x100208e4
mov ecx, dword [0x101e5e58]
call fcn.100320d0
test eax, eax
je 0x100208b9
lea eax, [ebx + 0xa4]
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x18]
mov ebp, dword [eax]
test ebp, ebp
je 0x10020898
mov ecx, dword [esp + 0x14]
mov eax, dword [esp + ecx*4 + 0x88]
test eax, eax
jne 0x10020898
mov edi, 0x1008dad8
mov esi, ebp
mov ecx, 8
xor edx, edx
repe cmpsb byte [esi], byte es:[edi]
je 0x10020898
mov edi, ebp
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
mov eax, dword [esp + 0x4c]
mov dword [esp + 0x28], 0xffffffff
not ecx
dec ecx
test eax, eax
mov esi, ecx
je 0x10020750
cmp esi, 3
jne 0x10020711
movsx eax, byte [ebp]
push eax
call fcn.10061a97
add esp, 4
test eax, eax
je 0x10020798
movsx ecx, byte [ebp + 1]
lea edi, [ebp + 1]
push ecx
call fcn.10061b3d
add esp, 4
test eax, eax
je 0x10020798
movsx edx, byte [ebp + 2]
push edx
call fcn.10061b3d
add esp, 4
test eax, eax
je 0x10020798
lea eax, [esp + 0x28]
push eax
push 0x100866e8
push edi
jmp 0x10020876
cmp esi, 2
jne 0x1002078e
movsx ecx, byte [ebp]
push ecx
call fcn.10061b3d
add esp, 4
test eax, eax
je 0x1002087e
movsx edx, byte [ebp + 1]
push edx
call fcn.10061b3d
add esp, 4
test eax, eax
je 0x1002087e
lea eax, [esp + 0x28]
push eax
push 0x100866e8
push ebp
jmp 0x10020876
cmp esi, 2
jl 0x1002078e
cmp esi, 4
jg 0x1002078e
movsx ecx, byte [ebp]
push ecx
call fcn.10061b15
add esp, 4
test eax, eax
je 0x1002078e
movsx edx, byte [ebp + 1]
push edx
call fcn.10061b15
add esp, 4
test eax, eax
je 0x1002078e
push ebp
call fcn.10061535
add esp, 4
mov dword [esp + 0x28], eax
jmp 0x1002087e
cmp esi, 3
jl 0x100207cf
cmp esi, 5
jg 0x100207cf
movsx eax, byte [ebp + 1]
lea edi, [ebp + 1]
push eax
call fcn.10061b15
add esp, 4
test eax, eax
je 0x100207cf
movsx ecx, byte [ebp + 2]
push ecx
call fcn.10061b15
add esp, 4
test eax, eax
je 0x100207cf
push edi
call fcn.10061535
add esp, 4
mov dword [esp + 0x28], eax
jmp 0x1002087e
cmp esi, 4
jl 0x1002080d
cmp esi, 6
jg 0x1002080d
movsx edx, byte [ebp + 2]
lea edi, [ebp + 2]
push edx
call fcn.10061b15
add esp, 4
test eax, eax
je 0x1002080d
movsx eax, byte [ebp + 3]
push eax
call fcn.10061b15
add esp, 4
test eax, eax
je 0x1002080d
push edi
call fcn.10061535
add esp, 4
mov dword [esp + 0x28], eax
jmp 0x1002087e
cmp esi, 7
jl 0x1002087e
cmp byte [ebp], 0x75
jne 0x1002087e
cmp byte [ebp + 1], 0x6e
jne 0x1002087e
cmp byte [ebp + 2], 0x69
jne 0x1002087e
movsx ecx, byte [ebp + 3]
lea esi, [ebp + 3]
push ecx
call fcn.10061b3d
add esp, 4
test eax, eax
je 0x1002087e
movsx edx, byte [ebp + 4]
push edx
call fcn.10061b3d
add esp, 4
test eax, eax
je 0x1002087e
movsx eax, byte [ebp + 5]
push eax
call fcn.10061b3d
add esp, 4
test eax, eax
je 0x1002087e
movsx ecx, byte [ebp + 6]
push ecx
call fcn.10061b3d
add esp, 4
test eax, eax
je 0x1002087e
lea edx, [esp + 0x28]
push edx
push 0x100866e8
push esi
call fcn.100613a1
add esp, 0xc
mov eax, dword [esp + 0x28]
test eax, eax
jl 0x10020898
cmp eax, 0xffff
jg 0x10020898
mov ecx, dword [esp + 0x14]
mov dword [esp + ecx*4 + 0x88], eax
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x18]
inc eax
add edx, 4
cmp eax, 0x100
mov dword [esp + 0x14], eax
mov dword [esp + 0x18], edx
jl 0x10020661
jmp 0x100208e4
mov ecx, dword [0x101e5e58]
call fcn.100320e0
test eax, eax
je 0x100208e4
xor eax, eax
mov ecx, dword [esp + eax*4 + 0x88]
test ecx, ecx
jne 0x100208dc
mov dword [esp + eax*4 + 0x88], eax
inc eax
cmp eax, 0x100
jl 0x100208ca
lea edx, [esp + 0x88]
push edx
call fcn.10006bb0
add esp, 4
mov dword [ebx + 0x5a4], eax
mov ecx, ebx
push eax
mov eax, dword [esp + 0x4bc]
push 8
push eax
call fcn.1001f920
mov eax, dword [ebx + 0x14]
test eax, eax
je 0x100209bf
mov ecx, dword [0x101e5e58]
push eax
call fcn.10032170
mov ebp, eax
test ebp, ebp
je 0x100209bf
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x88]
rep stosd dword es:[edi], eax
lea ecx, [esp + 0x88]
push ecx
call fcn.10006bb0
add esp, 4
mov edi, eax
xor esi, esi
mov ecx, dword [ebx + 0x5a4]
lea edx, [esp + 0x68]
push 8
push edx
push esi
call fcn.10007780
cmp eax, 1
jl 0x1002098f
mov ecx, dword [esp + 0x68]
lea eax, [esp + 0x68]
push 8
push eax
push ecx
mov ecx, ebp
call fcn.10007780
cmp eax, 1
jl 0x1002098f
lea edx, [esp + 0x68]
push eax
push edx
push esi
mov ecx, edi
call fcn.100076c0
inc esi
cmp esi, 0x100
jl 0x10020951
mov ecx, ebp
call fcn.10007670
mov esi, dword [ebx + 0x5a4]
test esi, esi
je 0x100209b9
mov ecx, esi
call fcn.10007620
push esi
call fcn.10060e0f
add esp, 4
mov dword [ebx + 0x5a4], edi
lea eax, [ebx + 0x5b0]
mov ecx, 0x100
fld qword [ebx + 0x80]
fmul qword [0x100712c8]
add eax, 8
dec ecx
fstp qword [eax - 8]
jne 0x100209ca
mov ebp, dword [esp + 0x4b8]
lea eax, [esp + 0x2c]
push 0
push eax
push 0x1008dacc
mov ecx, ebp
call fcn.1000bbe0
mov esi, dword [esp + 0x2c]
mov ecx, dword [esp + 0x34]
dec esi
neg esi
sbb esi, esi
not esi
and esi, ecx
lea ecx, [esp + 0x2c]
call fcn.10045c00
test esi, esi
jl 0x10020a1f
cmp esi, 0xff
jle 0x10020a21
xor esi, esi
lea ecx, [esp + 0x2c]
push 0
push ecx
push 0x1008dac0
mov ecx, ebp
call fcn.1000bbe0
mov eax, dword [esp + 0x2c]
mov edi, dword [esp + 0x34]
cmp eax, 1
je 0x10020a46
mov edi, 0xff
lea ecx, [esp + 0x2c]
call fcn.10045c00
test edi, edi
jl 0x10020a5b
cmp edi, 0xff
jle 0x10020a60
mov edi, 0xff
cmp dword [ebx + 0x18], 4
jne 0x10020a76
mov edx, dword [ebx + 0x30]
mov eax, dword [ebx + 0x34]
mov dword [esp + 0x4c], edx
mov dword [esp + 0x50], eax
jmp 0x10020a86
mov dword [esp + 0x4c], 0xd2f1a9fc
mov dword [esp + 0x50], 0x3f50624d
lea ecx, [esp + 0x2c]
push 0
push ecx
push 0x1008dab8
mov ecx, ebp
call fcn.1000bbe0
cmp dword [esp + 0x2c], 6
jne 0x10020b42
mov ebp, dword [ebx + 0x1c]
mov edx, dword [esp + 0x34]
mov ecx, edi
or ebp, 1
sub ecx, esi
mov dword [ebx + 0x1c], ebp
mov eax, dword [edx + 0xc]
inc ecx
cmp eax, ecx
jge 0x10020ac1
lea edi, [eax + esi - 1]
cmp esi, edi
jg 0x10020c92
lea ebx, [ebx + esi*8 + 0x5b0]
sub edi, esi
mov esi, dword [esp + 0x54]
xor ebp, ebp
mov dword [esp + 0x10], ebx
inc edi
mov ecx, dword [esp + 0x34]
lea edx, [esp + 0x3c]
push edx
push ebp
call fcn.10004df0
mov eax, dword [esp + 0x3c]
cmp eax, 1
je 0x10020b3c
cmp eax, 2
jne 0x10020b23
fld qword [esp + 0x44]
fmul qword [esp + 0x4c]
mov eax, dword [esp + 0x10]
fst qword [ebx]
fsub qword [eax]
fabs
fcomp qword [0x100712d0]
fnstsw ax
and eax, 0x4100
jne 0x10020b23
mov eax, dword [esi + 0x1c]
and al, 0xfe
mov dword [esi + 0x1c], eax
lea ecx, [esp + 0x3c]
call fcn.10045c00
add ebx, 8
inc ebp
dec edi
jne 0x10020add
mov ebx, dword [esp + 0x54]
jmp 0x10020c92
fild dword [esp + 0x44]
jmp 0x10020afe
mov eax, dword [esp + 0x20]
test eax, eax
je 0x10020bd6
lea ecx, [esp + 0x24]
push ecx
mov ecx, dword [eax + 0x14]
push 0x10085f8c
call fcn.10004ee0
test eax, eax
je 0x10020b82
mov edx, dword [esp + 0x24]
and edx, 0xffff
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul qword [0x100712c8]
fstp qword [ebx + 0x6b0]
lea edi, [ebx + 0x5b0]
lea esi, [ebx + 0xa4]
mov ebp, 0x100
mov eax, dword [esi]
test eax, eax
je 0x10020bc8
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x24]
push ecx
push eax
mov ecx, dword [edx + 0x14]
call fcn.10004ee0
test eax, eax
je 0x10020bc8
mov eax, dword [esp + 0x24]
and eax, 0xffff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x100712c8]
fstp qword [edi]
add esi, 4
add edi, 8
dec ebp
jne 0x10020b93
jmp 0x10020c92
mov ecx, dword [ebx + 0x1c]
test cl, 1
je 0x10020be2
xor eax, eax
jmp 0x10020bf3
mov dl, cl
and dl, 2
neg dl
sbb edx, edx
and edx, 4
add edx, 4
mov eax, edx
test ecx, 0x40000
je 0x10020bfe
add eax, 2
test cl, 0x40
je 0x10020c04
inc eax
mov eax, dword [eax*4 + 0x10084a18]
lea ecx, [esp + 0x24]
push ecx
push 0x10085f8c
mov ecx, dword [eax + 0x14]
mov dword [esp + 0x28], eax
call fcn.10004ee0
test eax, eax
je 0x10020c43
mov edx, dword [esp + 0x24]
and edx, 0xffff
mov dword [esp + 0x10], edx
fild dword [esp + 0x10]
fmul qword [0x100712c8]
fstp qword [ebx + 0x6b0]
lea edi, [ebx + 0x5b0]
lea esi, [ebx + 0xa4]
mov ebp, 0x100
mov eax, dword [esi]
test eax, eax
je 0x10020c89
mov edx, dword [esp + 0x20]
lea ecx, [esp + 0x24]
push ecx
push eax
mov ecx, dword [edx + 0x14]
call fcn.10004ee0
test eax, eax
je 0x10020c89
mov eax, dword [esp + 0x24]
and eax, 0xffff
mov dword [esp + 0x10], eax
fild dword [esp + 0x10]
fmul qword [0x100712c8]
fstp qword [edi]
add esi, 4
add edi, 8
dec ebp
jne 0x10020c54
lea ecx, [esp + 0x2c]
call fcn.10045c00
mov ecx, dword [esp + 0x488]
pop edi
pop esi
mov dword [ebx + 0x98], 1
mov eax, ebx
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x484
ret 0x24