Function at 0x100d7160
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
mov eax, dword [ecx + 0x108]
sub esp, 0x34
push ebx
push esi
xor ebx, ebx
push edi
test eax, eax
jne 0x100d7183
xor eax, eax
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov eax, dword [eax + 4]
test eax, eax
je 0x100d7178
mov ecx, dword [eax + 0x3c]
mov dword [esp + 0x10], ecx
test ecx, ecx
je 0x100d7178
mov ecx, dword [eax + 0x48]
mov esi, dword [eax + 0x20]
mov eax, dword [ebp + 8]
mov eax, dword [eax + 8]
mov dword [esp + 0x14], ecx
mov dword [esp + 0xc], esi
test eax, eax
je 0x100d74e4
mov eax, dword [eax + 4]
mov dword [esp + 0x3c], eax
test eax, eax
je 0x100d74e4
mov edx, dword [eax + 4]
test edx, edx
je 0x100d74e4
mov edi, dword [ebp + 0x10]
mov edi, edi
test byte [edx + 4], 1
je case.0x100d772d.22787
mov eax, dword [edx + 0x18]
movzx eax, word [eax + 6]
cmp eax, 0x3e90
jg 0x100d76bd
je case.0x100d772d.22786
cmp eax, 0xa16
jg 0x100d7327
je case.0x100d7229.258
cmp eax, 0x126
jg 0x100d7295
je case.0x100d7229.258
sub eax, 0x42
cmp eax, 0xe0
ja case.0x100d772d.22787
movzx ecx, byte [eax + 0x100d7880]
jmp dword [ecx*4 + 0x100d7874]
mov ecx, dword [edx + 8]
or eax, 0xffffffff
mov dword [esp + 0x1c], eax
test ecx, ecx
je 0x100d725f
mov eax, dword [ecx]
mov eax, dword [eax + 0x18]
lea ebx, [esp + 0x1c]
push ebx
movzx ebx, byte [edx + 0x16]
push 0x4c
push ebx
movzx ebx, byte [edx + 0x15]
movzx edx, byte [edx + 0x14]
push ebx
push edx
call eax
mov eax, dword [esp + 0x1c]
mov edx, dword [ebp + 0x18]
mov ecx, eax
shr ecx, 0x10
and ecx, 0x3f
mov dword [esp + 0x1c], ecx
fild dword [esp + 0x1c]
fld qword [0x101f70a8]
and eax, 0x3f
mov dword [esp + 0x1c], eax
fmul st(1), st(0)
mov ebx, 1
fxch st(1)
fstp dword [edx]
fimul dword [esp + 0x1c]
fstp dword [edi]
jmp case.0x100d772d.22787
cmp eax, 0x412
jg 0x100d731b
je case.0x100d7229.258
cmp eax, 0x166
je case.0x100d7229.258
cmp eax, 0x402
jne case.0x100d772d.22787
test esi, esi
je case.0x100d772d.22787
lea edx, [esp + 0x24]
push edx
push 0x5948
push 0xffffc000
push 0x48
push SysReAllocString
mov ecx, esi
call fcn.100185c2
test eax, eax
je case.default.0x100d7490
mov eax, dword [esp + 0x14]
fld dword [0x101f6bfc]
fstp dword [esp + 0x1c]
test eax, eax
je 0x100d757d
fld dword [eax + 0x1140]
fstp dword [esp + 0x20]
fldz
fld dword [esp + 0x20]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x100d757b
fstp dword [esp + 0x1c]
jmp 0x100d757d
cmp eax, 0x41e
je case.0x100d7229.258
jmp case.0x100d772d.22787
cmp eax, 0x1912
jg 0x100d75a7
je 0x100d75c4
cmp eax, 0xf31
jg 0x100d7564
je 0x100d7360
cmp eax, 0xa2e
je case.0x100d7229.258
cmp eax, 0xd26
je case.0x100d7229.258
jmp case.0x100d772d.22787
mov ecx, dword [esp + 0x10]
push 0x1004d800
push 0xd0
push 0
push 0
push 0
call fcn.10074a90
mov ecx, dword [esp + 0x10]
lea eax, [esp + 0x18]
push eax
push 0xd4
push 0
push 0
push 0
call fcn.10074b00
mov ecx, dword [esp + 0x18]
mov eax, ecx
shr eax, 8
and eax, 0xff
test cl, 0x10
je 0x100d744a
cmp eax, 0xb7
jbe case.default.0x100d7490
shr ecx, 6
and ecx, 3
sub eax, 0xb7
cmp ecx, 3
ja case.default.0x100d7490
jmp dword [ecx*4 + 0x100d7964]
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
test eax, eax
jge 0x100d73e1
fadd dword [0x101f69c0]
fmul qword [0x101f70a0]
mov ebx, 1
fmul qword [0x101f6bd0]
fstp dword [edi]
jmp case.0x100d772d.22787
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
test eax, eax
jge 0x100d740b
fadd dword [0x101f69c0]
fmul qword [0x101f7098]
mov ebx, 1
fdiv qword [0x101f7090]
fstp dword [edi]
jmp case.0x100d772d.22787
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
test eax, eax
jge 0x100d7435
fadd dword [0x101f69c0]
fmul qword [0x101f6c48]
mov ebx, 1
fdiv qword [0x101f6eb0]
fstp dword [edi]
jmp case.0x100d772d.22787
lea esi, [eax - 1]
cmp esi, 0x1f
ja case.default.0x100d7490
mov ecx, dword [esp + 0x10]
push 0x100e0800
push 0xd0
push 0
push 0
push 0
call fcn.10074a90
lea ecx, [esp + 0x18]
push ecx
mov ecx, dword [esp + 0x14]
push 0xd4
push 0
push 0
push 0
call fcn.10074b00
mov eax, dword [esp + 0x18]
and eax, 3
cmp eax, 3
ja case.default.0x100d7490
jmp dword [eax*4 + 0x100d7974]
mov dword [esp + 0x20], esi
fild dword [esp + 0x20]
test esi, esi
jge 0x100d74a9
fadd dword [0x101f69c0]
fmul qword [0x101f69b8]
fadd qword [0x101f69c8]
fdivr qword [0x101f7088]
fstp dword [edi]
mov ebx, 1
mov esi, dword [esp + 0xc]
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x100d74e4
mov eax, dword [eax + 8]
test eax, eax
je 0x100d74e4
mov edx, dword [eax + 4]
mov dword [esp + 0x3c], eax
test edx, edx
jne 0x100d71d0
pop edi
pop esi
mov eax, ebx
pop ebx
mov esp, ebp
pop ebp
ret 0x14
mov dword [esp + 0x20], esi
fild dword [esp + 0x20]
test esi, esi
jge 0x100d7501
fadd dword [0x101f69c0]
fmul qword [0x101f69b8]
fadd qword [0x101f69c8]
fdivr qword [0x101f7080]
jmp 0x100d74bb
mov dword [esp + 0x20], esi
fild dword [esp + 0x20]
test esi, esi
jge 0x100d7527
fadd dword [0x101f69c0]
fmul qword [0x101f69b8]
fadd qword [0x101f69c8]
fdivr qword [0x101f7078]
jmp 0x100d74bb
mov dword [esp + 0x20], esi
fild dword [esp + 0x20]
test esi, esi
jge 0x100d754d
fadd dword [0x101f69c0]
fmul qword [0x101f69b8]
fadd qword [0x101f69c8]
fdivr qword [0x101f7070]
jmp 0x100d74bb
cmp eax, 0x1616
je case.0x100d7229.258
cmp eax, 0x1902
je 0x100d75c4
jmp case.0x100d772d.22787
fstp st(0)
mov eax, dword [esp + 0x24]
shr eax, 8
and eax, 0xff
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
mov ebx, 1
fmul dword [esp + 0x1c]
fmul qword [0x101f69b8]
fstp dword [edi]
jmp case.0x100d772d.22787
cmp eax, 0x1926
jg 0x100d7651
je 0x100d75c4
sub eax, 0x1916
je 0x100d75c4
sub eax, 5
jne case.0x100d772d.22787
test esi, esi
je case.0x100d772d.22787
lea ecx, [esp + 0x28]
push ecx
push 0x5948
push 0xffffc000
push 0x48
push SysReAllocString
mov ecx, esi
call fcn.100185c2
test eax, eax
je case.default.0x100d7490
mov eax, dword [esp + 0x14]
fld dword [0x101f6bfc]
fstp dword [esp + 0x1c]
test eax, eax
je 0x100d7626
fld dword [eax + 0x1140]
fstp dword [esp + 0x20]
fldz
fld dword [esp + 0x20]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x100d7624
fstp dword [esp + 0x1c]
jmp 0x100d7626
fstp st(0)
mov edx, dword [esp + 0x28]
shr edx, 8
and edx, 0xff
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
fmul dword [esp + 0x1c]
mov ebx, 1
fdiv qword [0x101f7068]
fstp dword [edi]
jmp case.0x100d772d.22787
add eax, 0xffffce7c
cmp eax, 1
ja case.0x100d772d.22787
test esi, esi
je case.0x100d772d.22787
lea eax, [esp + 0x2c]
push eax
push 0x7070
push 0xffffc000
push 0x48
push SysReAllocString
mov ecx, esi
call fcn.100185c2
test eax, eax
je case.default.0x100d7490
mov ecx, dword [esp + 0x2c]
shr ecx, 8
and ecx, 0x1ff
mov dword [esp + 0x20], ecx
fild dword [esp + 0x20]
test ecx, ecx
jge 0x100d76ab
fadd dword [0x101f69c0]
fmul qword [0x101f7060]
mov ebx, 1
fstp dword [edi]
jmp case.0x100d772d.22787
cmp eax, 0x46c0
jg 0x100d770f
je case.0x100d7708.18048
cmp eax, 0x3ea9
jg 0x100d76f3
je case.0x100d772d.22786
sub eax, 0x3e92
cmp eax, 0xe
ja case.0x100d772d.22787
movzx edx, byte [eax + 0x100d798c]
jmp dword [edx*4 + 0x100d7984]
sub eax, 0x4680
cmp eax, 0x20
ja case.0x100d772d.22787
movzx eax, byte [eax + 0x100d79a4]
jmp dword [eax*4 + 0x100d799c]
cmp eax, 0x9b41
jg 0x100d7734
je case.0x100d772d.22786
sub eax, 0x5902
cmp eax, 0x24
ja case.0x100d772d.22787
movzx ecx, byte [eax + 0x100d79d0]
jmp dword [ecx*4 + 0x100d79c8]
cmp eax, 0xa780
jg 0x100d77dd
je case.0x100d7708.18048
cmp eax, 0x9bc4
jl case.0x100d772d.22787
cmp eax, 0x9bc5
jle case.0x100d772d.22786
cmp eax, 0x9bf6
jne case.0x100d772d.22787
test esi, esi
je case.0x100d772d.22787
lea edx, [esp + 0x30]
push edx
push 0x5948
push 0xffffc000
push 0x48
push SysReAllocString
mov ecx, esi
call fcn.100185c2
test eax, eax
je case.default.0x100d7490
mov eax, dword [esp + 0x14]
fld dword [0x101f6bfc]
fstp dword [esp + 0x1c]
test eax, eax
je 0x100d77c4
fld dword [eax + 0x1140]
fstp dword [esp + 0x20]
fldz
fld dword [esp + 0x20]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x100d77c2
fstp dword [esp + 0x1c]
jmp 0x100d77c4
fstp st(0)
mov eax, dword [esp + 0x30]
shr eax, 8
and eax, 0xff
mov dword [esp + 0x20], eax
fild dword [esp + 0x20]
jmp 0x100d763b
cmp eax, 0xa782
jne case.0x100d772d.22787
test esi, esi
je case.0x100d772d.22787
lea ecx, [esp + 0x34]
push ecx
push 0x5948
push 0xffffc000
push 0x48
push SysReAllocString
mov ecx, esi
call fcn.100185c2
test eax, eax
je case.default.0x100d7490
mov eax, dword [esp + 0x14]
fld dword [0x101f6bfc]
fstp dword [esp + 0x1c]
test eax, eax
je 0x100d784a
fld dword [eax + 0x1140]
fstp dword [esp + 0x20]
fldz
fld dword [esp + 0x20]
fcom st(1)
fnstsw ax
fstp st(1)
test ah, 0x41
jne 0x100d7848
fstp dword [esp + 0x1c]
jmp 0x100d784a
fstp st(0)
mov edx, dword [esp + 0x34]
shr edx, 0xb
and edx, 0x1ff
mov dword [esp + 0x20], edx
fild dword [esp + 0x20]
test edx, edx
jge 0x100d763b
fadd dword [0x101f69c0]
jmp 0x100d763b