Function at 0x1000a7c0
Capabilities:
Compute adler32 checksum
Resolve function by parsing pe exports

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
sub esp, 0x84
mov eax, dword [ebp + 0x14]
push ebx
lea ecx, [eax + 0xcd6]
push esi
push edi
mov dword [esp + 0x2c], eax
mov dword [esp + 0x64], ecx
cmp eax, ecx
ja 0x1000b32e
mov esi, dword [ebp + 8]
fld qword [esp + 0x68]
mov ebx, dword [esp + 0x1c]
mov eax, dword [esp + 0x2c]
cmp eax, 0x4d39
ja 0x1000b2c7
je 0x1000b1d4
cmp eax, 0x4625
ja 0x1000b15e
je 0x1000adf2
cmp eax, 0x45bb
ja 0x1000a9ea
je 0x1000a862
cmp eax, 0x2c8d
je 0x1000a84b
cmp eax, 0x4586
jne 0x1000b537
movzx ebx, word [esi + 2]
xor eax, eax
mov dword [esp + 0x1c], ebx
mov word [esi + 2], ax
jmp 0x1000b537
mov eax, 0x53c
cmp eax, eax
je 0x1000b559
add eax, 0x10
cmp eax, 0x53c
jbe 0x1000a852
mov ecx, dword [ebp + 0x10]
xor edx, edx
cmp dword [ecx], 1
jne 0x1000a9b0
mov ecx, dword [esp + 0x18]
mov edi, 0x7e0f
cmp edi, 0x7ea5
ja 0x1000a914
je 0x1000a905
mov eax, edi
sub eax, 0x7e0f
je 0x1000a8f4
sub eax, 0x32
je 0x1000a8ab
sub eax, 0x32
jne 0x1000a9a1
mov dword [esp + 0x48], edx
mov dword [esp + 0x44], edx
jmp 0x1000a9a1
mov eax, dword [0x10034170]
mov dword [esp + 0x80], eax
mov eax, dword [0x10034174]
mov dword [esp + 0x84], eax
mov eax, dword [0x10034178]
mov dword [esp + 0x88], eax
mov eax, dword [0x1003417c]
mov dword [esp + 0x8c], eax
mov eax, dword [esi]
cmp eax, 0xfff1
jb 0x1000a9a1
add eax, 0xffff000f
mov dword [esi], eax
jmp 0x1000a9a1
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
add dword [esi], eax
mov dword [esp + 0x4c], edx
jmp 0x1000a9a1
add ebx, dword [esi]
mov dword [esp + 0x30], edx
mov dword [esp + 0x1c], ebx
jmp 0x1000a9a1
mov eax, edi
sub eax, 0x7ed7
je 0x1000a959
sub eax, 0x32
je 0x1000a932
sub eax, 0x32
jne 0x1000a9a1
fstp st(0)
mov eax, ecx
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
cmp dword [esp + 0x50], edx
jne 0x1000a94c
mov eax, dword [esp + 0x30]
fstp st(0)
mov ecx, dword [eax]
mov edx, dword [ecx + 8]
push eax
call edx
fld qword [esp + 0x68]
xor edx, edx
mov ecx, ebx
shl ecx, 0x10
or ecx, dword [esi]
mov dword [esp + 0x18], ecx
jmp 0x1000a9a1
fstp st(0)
cmp ebx, 0xfff1
jb 0x1000a96d
sub ebx, 0xfff1
mov dword [esp + 0x1c], ebx
mov ecx, dword [esp + 0x44]
mov edx, dword [esp + 0x48]
lea eax, [esp + 0x30]
push eax
push ecx
mov ecx, dword [esp + 0x54]
push 0
push 0
push edx
lea eax, [esp + 0x94]
push eax
push ecx
call dword [sym.imp.ole32.dll_OleCreateFromData]
fld qword [esp + 0x68]
mov ecx, dword [esp + 0x18]
mov dword [esp + 0x50], eax
xor edx, edx
add edi, 0x32
cmp edi, 0x7f3b
jbe 0x1000a879
cmp dword [ebp + 0xc], edx
jne 0x1000b537
mov ecx, 0x4618
mov eax, ecx
sub eax, 0x4618
je 0x1000a9d2
sub eax, 0x15
je 0x1000b54c
jmp 0x1000a9da
mov dword [esp + 0x18], 1
add ecx, 0x15
cmp ecx, 0x462d
jbe 0x1000a9be
jmp 0x1000b537
cmp eax, 0x45f0
jne 0x1000b537
mov edx, dword [ebp + 0x10]
cmp dword [edx], 0x10
jae 0x1000aaba
mov edi, 0x1b9a
cmp edi, 0x1c4e
ja 0x1000aa9f
je 0x1000aa79
mov eax, edi
sub eax, 0x1b9a
je 0x1000aa38
sub eax, 0x5a
jne 0x1000aaab
mov eax, dword [esi]
cmp eax, 0xfff1
jb 0x1000aaab
add eax, 0xffff000f
mov dword [esi], eax
jmp 0x1000aaab
cmp dword [edx], 0
je 0x1000aa75
dec dword [edx]
mov ecx, 0x647f
mov eax, ecx
sub eax, 0x647f
je 0x1000aa56
sub eax, 0x1f
jne 0x1000aa61
add ebx, dword [esi]
jmp 0x1000aa61
mov eax, dword [ebp + 0xc]
movzx eax, byte [eax]
add dword [esi], eax
inc dword [ebp + 0xc]
add ecx, 0x1f
cmp ecx, 0x649e
jbe 0x1000aa44
cmp dword [edx], 0
jne 0x1000aa3d
mov dword [esp + 0x1c], ebx
dec dword [edx]
jmp 0x1000aaab
mov eax, 0x80078071
mul ebx
shr edx, 0xf
imul edx, edx, 0xffff000f
add ebx, edx
mov edx, dword [ebp + 0x10]
mov eax, ebx
shl eax, 0x10
or eax, dword [esi]
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x18], eax
jmp 0x1000aaab
cmp edi, 0x1ca8
je 0x1000b54c
add edi, 0x5a
cmp edi, 0x1ca8
jbe 0x1000aa06
cmp dword [edx], 0x15b0
jb 0x1000b537
mov ecx, 0x6866
mov dword [esp + 0x1c], ecx
lea eax, [ecx - 0x6866]
cmp eax, 9
ja case.0x1000aae5.26727
movzx edx, byte [eax + 0x1000b58c]
jmp dword [edx*4 + 0x1000b578]
mov eax, dword [esi]
xor edx, edx
mov edi, 0xfff1
div edi
mov dword [esi], edx
jmp case.0x1000aae5.26727
mov edx, dword [ebp + 0xc]
mov edi, 0x231
cmp edi, 0x39f
ja 0x1000acb4
je 0x1000ac79
cmp edi, 0x2e8
ja 0x1000abe4
je 0x1000ab9c
mov eax, edi
sub eax, 0x231
je 0x1000ab7d
sub eax, 0x3d
je 0x1000ab5d
sub eax, 0x3d
jne case.0x1000accc.989
mov eax, 0x14b4
cmp eax, eax
jne 0x1000ab4e
movzx ecx, byte [edx + 2]
add dword [esi], ecx
add ebx, dword [esi]
add eax, 0x23
cmp eax, 0x14b4
jbe 0x1000ab44
jmp case.0x1000accc.989
mov eax, 0xa89
cmp eax, eax
jne 0x1000ab6e
movzx ecx, byte [edx + 1]
add dword [esi], ecx
add ebx, dword [esi]
add eax, 7
cmp eax, 0xa89
jbe 0x1000ab64
jmp case.0x1000accc.989
mov eax, 0x3178
cmp eax, eax
jne 0x1000ab8d
movzx ecx, byte [edx]
add dword [esi], ecx
add ebx, dword [esi]
add eax, 0x4b
cmp eax, 0x3178
jbe 0x1000ab84
jmp case.0x1000accc.989
mov ecx, 0x24a1
mov eax, ecx
sub eax, 0x24a1
je 0x1000abb3
sub eax, 0x3c
jne 0x1000abb9
add ebx, dword [esi]
jmp 0x1000abb9
movzx eax, byte [edx + 3]
add dword [esi], eax
add ecx, 0x3c
cmp ecx, 0x24dd
jbe 0x1000aba1
mov eax, 0x600c
cmp eax, eax
jne 0x1000abd5
movzx ecx, byte [edx + 4]
add dword [esi], ecx
add ebx, dword [esi]
add eax, 0x1e
cmp eax, 0x600c
jbe 0x1000abcb
jmp case.0x1000accc.989
mov eax, edi
sub eax, 0x325
je 0x1000ac31
sub eax, 0x3d
jne case.0x1000accc.989
mov eax, 0xb3e
cmp eax, eax
jne 0x1000ac07
movzx ecx, byte [edx + 7]
add dword [esi], ecx
add ebx, dword [esi]
add eax, 0x36
cmp eax, 0xb3e
jbe 0x1000abfd
mov eax, 0x4fef
cmp eax, eax
jne 0x1000ac22
movzx ecx, byte [edx + 8]
add dword [esi], ecx
add ebx, dword [esi]
add eax, 0xc
cmp eax, 0x4fef
jbe 0x1000ac18
jmp case.0x1000accc.989
mov ecx, 0x1132
mov eax, ecx
sub eax, 0x1132
je 0x1000ac48
sub eax, 0x39
jne 0x1000ac4e
add ebx, dword [esi]
jmp 0x1000ac4e
movzx eax, byte [edx + 5]
add dword [esi], eax
add ecx, 0x39
cmp ecx, 0x116b
jbe 0x1000ac36
mov eax, 0x6708
cmp eax, eax
jne 0x1000ac6a
movzx ecx, byte [edx + 6]
add dword [esi], ecx
add ebx, dword [esi]
add eax, 0x47
cmp eax, 0x6708
jbe 0x1000ac60
jmp case.0x1000accc.989
mov eax, 0x99c
cmp eax, eax
jne 0x1000ac8a
movzx ecx, byte [edx + 9]
add dword [esi], ecx
add ebx, dword [esi]
add eax, 0x61
cmp eax, 0x99c
jbe 0x1000ac80
mov eax, 0x4fb
cmp eax, eax
jne 0x1000aca5
movzx ecx, byte [edx + 0xa]
add dword [esi], ecx
add ebx, dword [esi]
add eax, 0x5b
cmp eax, 0x4fb
jbe 0x1000ac9b
jmp case.0x1000accc.989
lea eax, [edi - 0x3dc]
cmp eax, 0xf4
ja case.0x1000accc.989
movzx eax, byte [eax + 0x1000b5b0]
jmp dword [eax*4 + 0x1000b598]
mov ecx, 0x5be6
mov eax, ecx
sub eax, 0x5be6
je 0x1000acea
sub eax, 0x5d
jne 0x1000acf0
add ebx, dword [esi]
jmp 0x1000acf0
movzx eax, byte [edx + 0xb]
add dword [esi], eax
add ecx, 0x5d
cmp ecx, 0x5c43
jbe 0x1000acd8
jmp case.0x1000accc.989
mov eax, 0x42a5
cmp eax, eax
jne 0x1000ad11
movzx ecx, byte [edx + 0xe]
add dword [esi], ecx
add ebx, dword [esi]
inc eax
cmp eax, 0x42a5
jbe 0x1000ad07
jmp case.0x1000accc.989
add edx, 0x10
jmp case.0x1000accc.989
mov eax, 0x690d
cmp eax, eax
jne 0x1000ad31
movzx ecx, byte [edx + 0xc]
add dword [esi], ecx
add ebx, dword [esi]
add eax, 0xd
cmp eax, 0x690d
jbe 0x1000ad27
mov eax, 0x5afd
cmp eax, eax
jne 0x1000ad4c
movzx ecx, byte [edx + 0xd]
add dword [esi], ecx
add ebx, dword [esi]
add eax, 0x5f
cmp eax, 0x5afd
jbe 0x1000ad42
jmp case.0x1000accc.989
mov ecx, 0x2b6d
mov eax, ecx
sub eax, 0x2b6d
je 0x1000ad6f
sub eax, 0x5c
jne 0x1000ad75
add ebx, dword [esi]
jmp 0x1000ad75
movzx eax, byte [edx + 0xf]
add dword [esi], eax
add ecx, 0x5c
cmp ecx, 0x2bc9
jbe 0x1000ad5d
add edi, 0x3d
cmp edi, 0x4d0
jbe 0x1000ab06
dec dword [esp + 0x34]
jne 0x1000ab01
mov ecx, dword [esp + 0x1c]
mov dword [ebp + 0xc], edx
jmp case.0x1000aae5.26727
mov eax, dword [ebp + 0x10]
add dword [eax], 0xffffea50
mov dword [esp + 0x34], 0x15b
jmp case.0x1000aae5.26727
mov eax, 0x80078071
mul ebx
shr edx, 0xf
imul edx, edx, 0xffff000f
add ebx, edx
add ecx, 3
mov dword [esp + 0x1c], ecx
cmp ecx, 0x686f
jbe 0x1000aacf
mov ecx, dword [ebp + 0x10]
cmp dword [ecx], 0x15b0
jae 0x1000aac6
mov dword [esp + 0x1c], ebx
jmp 0x1000b537
mov edi, dword [ebp + 0x10]
cmp dword [edi], 0
je 0x1000b14e
mov edx, dword [ebp + 0xc]
mov ecx, 0x51ba
mov dword [esp + 0x18], ecx
mov eax, ecx
sub eax, 0x51ba
je 0x1000ae56
sub eax, 0x48
je 0x1000ae3e
sub eax, 0x48
jne 0x1000b137
mov edi, dword [ebp + 0x10]
mov eax, 0x80078071
mul ebx
shr edx, 0xf
imul edx, edx, 0xffff000f
add ebx, edx
mov edx, dword [ebp + 0xc]
jmp 0x1000b137
mov eax, dword [esi]
xor edx, edx
mov edi, 0xfff1
div edi
mov edi, dword [ebp + 0x10]
mov dword [esi], edx
mov edx, dword [ebp + 0xc]
jmp 0x1000b137
cmp dword [edi], 0x10
jb 0x1000b107
mov dword [esp + 0x1c], 0x605c
mov eax, dword [esp + 0x1c]
add eax, 0xffff9fa4
cmp eax, 0xb4
ja case.0x1000ae82.24669
movzx eax, byte [eax + 0x1000b6e0]
jmp dword [eax*4 + 0x1000b6a8]
mov eax, 0x10e1
cmp eax, eax
jne 0x1000ae9a
movzx ecx, byte [edx + 6]
add dword [esi], ecx
add ebx, dword [esi]
add eax, 0x19
cmp eax, 0x10e1
jbe 0x1000ae90
jmp case.0x1000ae82.24669
mov eax, 0x130d
cmp eax, eax
jne 0x1000aeba
movzx ecx, byte [edx + 7]
add dword [esi], ecx
add ebx, dword [esi]
add eax, 0x4d
cmp eax, 0x130d
jbe 0x1000aeb0
jmp case.0x1000ae82.24669
mov ecx, 0x7961
mov eax, ecx
sub eax, 0x7961
je 0x1000aee0
sub eax, 0x5a
jne 0x1000aee6
add ebx, dword [esi]
jmp 0x1000aee6
movzx eax, byte [edx + 0xa]
add dword [esi], eax
add ecx, 0x5a
cmp ecx, 0x79bb
jbe 0x1000aece
jmp case.0x1000ae82.24669
mov ecx, 0x4ef1
mov eax, ecx
sub eax, 0x4ef1
je 0x1000af0d
sub eax, 0x24
jne 0x1000af13
add ebx, dword [esi]
jmp 0x1000af13
movzx eax, byte [edx + 4]
add dword [esi], eax
add ecx, 0x24
cmp ecx, 0x4f15
jbe 0x1000aefb
jmp case.0x1000ae82.24669
mov eax, 0x3091
cmp eax, eax
jne 0x1000af34
movzx ecx, byte [edx + 0xb]
add dword [esi], ecx
add ebx, dword [esi]
add eax, 0x24
cmp eax, 0x3091
jbe 0x1000af2a
mov ecx, 0x3240
mov eax, ecx
sub eax, 0x3240
je 0x1000af55
sub eax, 0x4f
jne 0x1000af5b
add ebx, dword [esi]
jmp 0x1000af5b
movzx eax, byte [edx + 0xc]
add dword [esi], eax
add ecx, 0x4f
cmp ecx, 0x328f
jbe 0x1000af43
jmp case.0x1000ae82.24669
mov eax, 0x2a7
cmp eax, eax
jne 0x1000af7c
movzx ecx, byte [edx + 0xd]
add dword [esi], ecx
add ebx, dword [esi]
add eax, 0x2b
cmp eax, 0x2a7
jbe 0x1000af72
mov eax, 0x57b1
cmp eax, eax
jne 0x1000af97
movzx ecx, byte [edx + 0xe]
add dword [esi], ecx
add ebx, dword [esi]
add eax, 0x59
cmp eax, 0x57b1
jbe 0x1000af8d
jmp case.0x1000ae82.24669
add dword [edi], 0xfffffff0
jmp case.0x1000ae82.24669
add edx, 0x10
jmp case.0x1000ae82.24669
mov ecx, 0x4f0b
mov eax, ecx
sub eax, 0x4f0b
je 0x1000afcd
sub eax, 8
jne 0x1000afd3
add ebx, dword [esi]
jmp 0x1000afd3
movzx eax, byte [edx + 0xf]
add dword [esi], eax
add ecx, 8
cmp ecx, 0x4f13
jbe 0x1000afbb
jmp case.0x1000ae82.24669
mov ecx, 0xf9b
mov eax, ecx
sub eax, 0xf9b
je 0x1000aff8
dec eax
jne 0x1000affd
add ebx, dword [esi]
jmp 0x1000affd
movzx eax, byte [edx]
add dword [esi], eax
inc ecx
cmp ecx, 0xf9c
jbe 0x1000afe8
mov ecx, 0x4733
mov eax, ecx
sub eax, 0x4733
je 0x1000b01d
sub eax, 0x3a
jne 0x1000b023
add ebx, dword [esi]
jmp 0x1000b023
movzx eax, byte [edx + 1]
add dword [esi], eax
add ecx, 0x3a
cmp ecx, 0x476d
jbe 0x1000b00b
jmp case.0x1000ae82.24669
mov eax, 0x34a6
cmp eax, eax
jne 0x1000b044
movzx ecx, byte [edx + 8]
add dword [esi], ecx
add ebx, dword [esi]
add eax, 0x1f
cmp eax, 0x34a6
jbe 0x1000b03a
mov ecx, 0x6854
mov eax, ecx
sub eax, 0x6854
je 0x1000b065
sub eax, 0x4b
jne 0x1000b06b
add ebx, dword [esi]
jmp 0x1000b06b
movzx eax, byte [edx + 9]
add dword [esi], eax
add ecx, 0x4b
cmp ecx, 0x689f
jbe 0x1000b053
jmp case.0x1000ae82.24669
mov eax, 0x4d4c
cmp eax, eax
jne 0x1000b089
movzx ecx, byte [edx + 2]
add dword [esi], ecx
add ebx, dword [esi]
add eax, 0x43
cmp eax, 0x4d4c
jbe 0x1000b07f
mov ecx, 0x456b
mov eax, ecx
sub eax, 0x456b
je 0x1000b0aa
sub eax, 0x64
jne 0x1000b0b0
add ebx, dword [esi]
jmp 0x1000b0b0
movzx eax, byte [edx + 3]
add dword [esi], eax
add ecx, 0x64
cmp ecx, 0x45cf
jbe 0x1000b098
jmp case.0x1000ae82.24669
mov ecx, 0x14f3
mov eax, ecx
sub eax, 0x14f3
je 0x1000b0d4
sub eax, 0x4f
jne 0x1000b0da
add ebx, dword [esi]
jmp 0x1000b0da
movzx eax, byte [edx + 5]
add dword [esi], eax
add ecx, 0x4f
cmp ecx, 0x1542
jbe 0x1000b0c2
mov eax, dword [esp + 0x1c]
add eax, 0xf
mov dword [esp + 0x1c], eax
cmp eax, 0x6110
jbe 0x1000ae67
cmp dword [edi], 0x10
jae 0x1000ae5f
mov dword [ebp + 0xc], edx
cmp dword [edi], 0
je 0x1000b131
dec dword [edi]
mov eax, 0x26a4
cmp eax, eax
jne 0x1000b11f
movzx ecx, byte [edx]
add dword [esi], ecx
inc edx
add ebx, dword [esi]
add eax, 0xa
cmp eax, 0x26a4
jbe 0x1000b115
cmp dword [edi], 0
jne 0x1000b10c
mov dword [ebp + 0xc], edx
dec dword [edi]
mov ecx, dword [esp + 0x18]
add ecx, 0x48
mov dword [esp + 0x18], ecx
cmp ecx, 0x524a
jbe 0x1000ae0a
mov dword [esp + 0x1c], ebx
mov eax, ebx
shl eax, 0x10
or eax, dword [esi]
mov dword [esp + 0x18], eax
jmp 0x1000b537
cmp eax, 0x4ccf
ja 0x1000b1bc
je 0x1000b1af
cmp eax, 0x465a
je 0x1000b54c
cmp eax, 0x4c9a
jne 0x1000b537
push esi
fstp st(0)
call fcn.1001db20
mov edx, dword [ebp + 0xc]
add esp, 4
cmp eax, dword [edx]
ja 0x1000b533
mov eax, 0x5dce
cmp eax, eax
je 0x1000b56d
add eax, 0x61
cmp eax, 0x5dce
jbe 0x1000b19a
jmp 0x1000b533
mov dword [esp + 0x40], 0
jmp 0x1000b537
cmp eax, 0x4d04
jne 0x1000b537
mov dword [esp + 0x24], 0
jmp 0x1000b537
mov edi, esi
test esi, esi
je 0x1000b537
mov ecx, 0x5d8c
mov dword [esp + 0x38], ecx
mov eax, ecx
sub eax, 0x5d8c
je 0x1000b205
sub eax, 6
jne 0x1000b2a7
inc dword [esp + 0x24]
mov edi, dword [edi + 4]
jmp 0x1000b2a7
mov eax, dword [esp + 0x24]
mov edx, dword [ebp + 0xc]
cmp eax, dword [edx]
jne 0x1000b2a7
mov ebx, 0x74bd
mov eax, ebx
sub eax, 0x74bd
je 0x1000b278
sub eax, 2
je 0x1000b239
sub eax, 2
jne 0x1000b290
fstp st(0)
mov eax, dword [esp + 0x40]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esp + 0x54]
fstp st(0)
xor ecx, ecx
inc eax
mov edx, 2
mul edx
seto cl
neg ecx
or ecx, eax
push ecx
call fcn.10025de1
mov ecx, dword [edi]
add esp, 4
mov dword [esp + 0x40], eax
mov edx, eax
movzx eax, word [ecx]
mov word [edx], ax
add ecx, 2
add edx, 2
test ax, ax
jne 0x1000b261
fld qword [esp + 0x68]
jmp 0x1000b290
mov eax, dword [edi]
lea edx, [eax + 2]
mov cx, word [eax]
add eax, 2
test cx, cx
jne 0x1000b27d
sub eax, edx
sar eax, 1
mov dword [esp + 0x54], eax
add ebx, 2
cmp ebx, 0x74c1
jbe 0x1000b219
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0x38]
add ecx, 6
mov dword [esp + 0x38], ecx
cmp ecx, 0x5d92
jbe 0x1000b1e7
test edi, edi
jne 0x1000b1de
jmp 0x1000b537
cmp eax, 0x6039
ja 0x1000b4d5
je 0x1000b3bc
cmp eax, 0x5fcf
ja 0x1000b383
je 0x1000b34e
cmp eax, 0x4d6e
je 0x1000b318
cmp eax, 0x5f9a
jne 0x1000b537
fstp st(0)
push 0
lea eax, [esi + 4]
push 0
push eax
call fcn.100061b0
mov ecx, dword [esi + 0x18]
lea edx, [eax + ecx*8]
add esp, 0xc
mov dword [esp + 0x58], edx
jmp 0x1000b533
fstp st(0)
mov ecx, 0x2dec
nop
mov eax, ecx
sub eax, 0x2dec
je 0x1000b339
sub eax, 0x27
jne 0x1000b341
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov dword [esp + 0x18], 0
add ecx, 0x27
cmp ecx, 0x2e13
jbe 0x1000b320
jmp 0x1000b2f9
lea edi, [esi + 4]
fstp st(0)
push edi
call fcn.1001df00
sub eax, dword [esi + 0x1c]
add esp, 4
test eax, eax
jle 0x1000b378
push edi
call fcn.1001df00
add esp, 4
sub eax, dword [esi + 0x1c]
mov dword [esp + 0x28], eax
jmp 0x1000b533
xor eax, eax
mov dword [esp + 0x28], eax
jmp 0x1000b533
cmp eax, 0x6004
jne 0x1000b537
fstp st(0)
fild dword [esp + 0x28]
fmul qword [esi + 0x28]
fadd qword [0x10039430]
call fcn.100305b0
push eax
mov dword [esp + 0x64], eax
mov eax, dword [ebp + 0xc]
push eax
call fcn.1001b4a0
add esp, 8
mov dword [esp + 0x5c], eax
jmp 0x1000b533
mov ecx, dword [esi + 0x4c]
imul ecx, dword [esp + 0x28]
mov dword [esp + 0x20], 0
cmp dword [esi + 0x3c], ecx
jge 0x1000b537
mov ecx, dword [esp + 0x74]
mov eax, dword [esp + 0x10]
xor edx, edx
mov dword [esp + 0x38], edx
mov dword [esp + 0x3c], 0x13
cmp edx, 0xc6
ja case.0x1000b3fe.1
movzx edx, byte [edx + 0x1000b7bc]
jmp dword [edx*4 + 0x1000b798]
mov edi, dword [esi + 0x30]
mov edi, dword [edi]
mov edx, ecx
imul edx, edx, 0xb
add edx, eax
fld qword [edi + edx*8]
mov edx, dword [esp + 0x14]
fmul qword [edx + eax*8]
faddp st(1)
fst qword [esp + 0x68]
jmp case.0x1000b3fe.1
fstp st(0)
fldz
fst qword [esp + 0x68]
jmp case.0x1000b3fe.1
mov eax, dword [esi + 0x4c]
fstp st(0)
mov ecx, dword [esi + 0x3c]
push eax
push ecx
call fcn.100261b5
fld qword [esp + 0x70]
mov dword [esp + 0x7c], edx
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0x7c]
mov dword [esp + 0x78], eax
lea eax, [edx + eax*8]
mov dword [esp + 0x1c], eax
mov eax, dword [esp + 0x18]
add esp, 8
jmp case.0x1000b3fe.1
xor eax, eax
mov dword [esp + 0x10], eax
jmp case.0x1000b3fe.1
mov edi, dword [esi + 0x30]
mov edi, dword [edi]
mov edx, ecx
imul edx, edx, 0xb
add edx, eax
fld qword [edi + edx*8]
mov edx, dword [esp + 0x14]
fmul qword [edx + eax*8]
faddp st(1)
fst qword [esp + 0x68]
inc eax
mov dword [esp + 0x10], eax
jmp case.0x1000b3fe.1
inc eax
mov dword [esp + 0x10], eax
jmp case.0x1000b3fe.33
mov edx, dword [esp + 0x5c]
mov edi, dword [esp + 0x20]
fst qword [edx + edi*8]
mov edx, dword [esp + 0x38]
add edx, 0xb
dec dword [esp + 0x3c]
mov dword [esp + 0x38], edx
jne 0x1000b3eb
mov edx, dword [esi + 0x44]
add dword [esi + 0x3c], edx
mov edx, dword [esi + 0x4c]
imul edx, dword [esp + 0x28]
inc dword [esp + 0x20]
cmp dword [esi + 0x3c], edx
jl 0x1000b3dd
jmp 0x1000b537
sub eax, 0x60a3
je 0x1000b51d
sub eax, 0x35
je 0x1000b4ef
sub eax, 0x35
jne 0x1000b537
mov eax, dword [esp + 0x7c]
mov dword [esi + 0x3c], eax
jmp 0x1000b537
mov ecx, dword [esi + 0x4c]
fstp st(0)
mov edx, dword [esi + 0x3c]
push ecx
push edx
call fcn.100261b5
push 0
push eax
mov dword [esp + 0x88], eax
lea eax, [esi + 4]
push eax
mov dword [esp + 0x90], edx
call fcn.100061b0
add esp, 0x14
jmp 0x1000b533
mov ecx, dword [esp + 0x60]
fstp st(0)
sub ecx, dword [esp + 0x20]
mov eax, dword [ebp + 0xc]
push ecx
call fcn.10018780
add esp, 4
fld qword [esp + 0x68]
mov eax, dword [esp + 0x2c]
add eax, 0x35
mov dword [esp + 0x2c], eax
cmp eax, dword [esp + 0x64]
jbe 0x1000a7f3
fstp st(0)
mov eax, dword [esp + 0x18]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
mov eax, dword [esi + 0x10]
fstp st(0)
sub eax, dword [esi + 0xc]
xor edx, edx
div dword [esi + 8]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret
pop edi
pop esi
xor eax, eax
pop ebx
mov esp, ebp
pop ebp
ret