Function at 0x100ae690
Capabilities:
Enumerate pe sections
Inspect section memory permissions

Disassembly:
mov edi, edi
push ebp
mov ebp, esp
sub esp, 0x88
push ebx
push esi
push edi
mov edi, dword [ebp + 0x10]
xor ebx, ebx
mov ecx, edi
mov esi, eax
mov dword [ebp - 0x28], ebx
mov dword [ebp - 0x3c], ebx
mov dword [ebp - 0x34], ebx
call fcn.100ae5a0
cmp dword [esi + 0x10], ebx
je 0x100ae6d2
mov eax, dword [0x101e3270]
push eax
push 0x10082184
mov ecx, esi
call fcn.100aae20
add esp, 8
inc dword [esi + 0x18]
cmp byte [ebp + 0xc], bl
je 0x100ae6e4
mov ecx, dword [ebp + 8]
push ecx
mov ecx, edi
mov ebx, esi
call fcn.100ad550
lea ebx, [ebp - 0x34]
mov ecx, edi
call fcn.100ac4e0
test eax, eax
jl 0x100ae850
mov eax, dword [ebp - 0x34]
mov edx, dword [eax]
push eax
mov eax, dword [edx + 0xc]
call eax
mov edi, eax
mov dword [ebp - 0x10], edi
test edi, edi
je 0x100ae718
mov eax, dword [edi + 0x24]
test eax, eax
je 0x100ae718
add eax, edi
mov dword [ebp - 0x40], eax
jmp 0x100ae71f
mov dword [ebp - 0x40], 0x100820f3
mov eax, dword [ebp + 0x10]
mov ebx, dword [eax]
add eax, 4
cmp dword [esi + 0x10], 0
mov dword [ebp - 0xc], ebx
mov dword [ebp - 4], eax
je 0x100ae764
dec dword [esi + 0x18]
push 0x10082160
mov ecx, esi
call fcn.100aae20
add esp, 4
cmp dword [esi + 0x10], 0
je 0x100ae764
mov ecx, dword [0x101e3274]
push ecx
push 0x10082184
mov ecx, esi
call fcn.100aae20
add esp, 8
inc dword [esi + 0x18]
cmp ebx, 0xfffe0201
jne 0x100ae780
push 0x10083360
mov ecx, esi
call fcn.100aae20
add esp, 4
jmp 0x100ae88c
cmp ebx, 0xfffe02ff
jne 0x100ae79c
push 0x1008336c
mov ecx, esi
call fcn.100aae20
add esp, 4
jmp 0x100ae88c
cmp ebx, 0xfffe03ff
jne 0x100ae7b8
push 0x1008337c
mov ecx, esi
call fcn.100aae20
add esp, 4
jmp 0x100ae88c
cmp ebx, 0xffff0201
jne 0x100ae7d4
push 0x1008338c
mov ecx, esi
call fcn.100aae20
add esp, 4
jmp 0x100ae88c
cmp ebx, 0xffff02ff
jne 0x100ae7f0
push 0x10083398
mov ecx, esi
call fcn.100aae20
add esp, 4
jmp 0x100ae88c
cmp ebx, 0xffff03ff
jne 0x100ae80c
push 0x100833a8
mov ecx, esi
call fcn.100aae20
add esp, 4
jmp 0x100ae88c
mov eax, ebx
and eax, 0xffff0000
cmp eax, 0x54580000
je 0x100affd1
mov ecx, esi
cmp eax, 0xfffe0000
je 0x100ae871
cmp eax, 0xffff0000
je 0x100ae85c
call fcn.100aaec0
xor eax, eax
call fcn.100aae90
push 0x100833d8
mov ecx, esi
call fcn.100aae20
add esp, 4
mov ecx, esi
call fcn.100aaec0
mov dword [ebp - 0x28], 0x80004005
jmp 0x100affde
movzx edx, bl
shr ebx, 8
push edx
and ebx, 0xff
push ebx
push 0x100833c8
jmp 0x100ae884
movzx eax, bl
shr ebx, 8
push eax
and ebx, 0xff
push ebx
push 0x100833b8
call fcn.100aae20
add esp, 0xc
xor ebx, ebx
mov dword [ebp + 0xc], ebx
mov dword [ebp + 8], ebx
mov dword [ebp - 8], ebx
cmp edi, ebx
je 0x100ae8cb
mov eax, dword [edi + 0x10]
mov ecx, dword [edi + 0x18]
mov edx, dword [edi + 0x14]
add eax, edi
add ecx, edi
mov dword [ebp - 0x5c], eax
lea eax, [ecx + edx*8]
mov edx, dword [edi + 0x20]
mov dword [ebp - 0x60], eax
mov eax, dword [edi + 0x1c]
add edx, edi
lea eax, [eax + eax*4]
mov dword [ebp - 0x2c], edx
lea edx, [edx + eax*4]
mov dword [ebp - 0x64], ecx
mov dword [ebp - 0x58], edx
mov dword [ebp - 0x24], ecx
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
movzx ecx, byte [ecx + 2]
movzx eax, dx
mov dword [ebp - 0x38], ebx
mov dword [ebp - 0x44], 0xffff
mov dword [ebp - 0x30], ebx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], ecx
cmp eax, 0xffff
je 0x100aff22
mov ebx, dword [ebp - 4]
cmp dword [ebp - 0x1c], 0xfffe
jne 0x100ae99d
shr edx, 0x10
mov eax, edx
add ebx, 4
mov dword [ebp - 0x14], eax
mov dword [ebp - 4], ebx
test eax, eax
je 0x100aff08
cmp dword [ebx], 0x54584554
jne 0x100ae98f
cmp dword [esi + 0x10], 0
je 0x100ae942
mov edx, dword [0x101e3270]
push edx
push 0x10082184
mov ecx, esi
call fcn.100aae20
add esp, 8
inc dword [esi + 0x18]
cmp dword [ebp - 8], 0
jbe 0x100ae964
mov edi, dword [ebp - 8]
jmp 0x100ae950
push 0x10083410
mov ecx, esi
call fcn.100aae20
add esp, 4
sub edi, 1
jne 0x100ae950
lea eax, [ebx + 4]
push eax
push 0x10083414
mov ecx, esi
call fcn.100aae20
add esp, 8
cmp dword [esi + 0x10], 0
je 0x100ae98f
dec dword [esi + 0x18]
push 0x10082160
mov ecx, esi
call fcn.100aae20
add esp, 4
mov ecx, dword [ebp - 0x14]
lea edx, [ebx + ecx*4]
mov dword [ebp - 4], edx
jmp 0x100aff05
cmp dword [ebp - 0x10], 0
je 0x100aeb10
mov ebx, dword [ebp - 0x24]
cmp ebx, dword [ebp - 0x60]
jae 0x100aeb10
mov edi, dword [ebp - 4]
sub edi, dword [ebp + 0x10]
mov eax, dword [ebx + 4]
sar edi, 2
shr eax, 2
cmp edi, eax
jne 0x100aeaf5
movzx eax, word [ebx + 2]
cmp ax, word [ebp - 0x44]
je 0x100aea58
mov ecx, 0xffff
cmp cx, ax
je 0x100aea49
push 0x10082304
mov ecx, esi
call fcn.100aae20
add esp, 4
mov eax, 1
call fcn.100aae90
push 0x10083420
mov ecx, esi
call fcn.100aae20
add esp, 4
mov ecx, esi
call fcn.100aaec0
mov eax, 3
call fcn.100aae90
movzx edx, word [ebx + 2]
mov eax, dword [ebp - 0x5c]
mov ecx, dword [eax + edx*4]
add ecx, dword [ebp - 0x10]
movzx edx, word [ebx]
push ecx
push edx
push 0x10083428
mov ecx, esi
call fcn.100aae20
add esp, 0xc
mov ecx, esi
call fcn.100aaec0
movzx eax, word [ebx]
mov dword [ebp - 0x30], eax
movzx ecx, word [ebx + 2]
movzx edx, word [ebx]
mov dword [ebp - 0x44], ecx
jmp 0x100aeaf2
movzx eax, word [ebx]
mov ecx, dword [ebp - 0x38]
cmp ax, cx
je 0x100aeaf5
movzx edx, cx
movzx ecx, ax
lea ebx, [edx + 2]
cmp ecx, ebx
jg 0x100aea8d
lea ebx, [ecx + 2]
cmp ebx, edx
jl 0x100aea8d
movzx edx, word [ebp - 0x30]
lea ebx, [edx + 0xa]
cmp ecx, ebx
jg 0x100aea8d
add ecx, 0xa
cmp ecx, edx
jge 0x100aeaec
push 0x10082304
mov ecx, esi
call fcn.100aae20
add esp, 4
mov eax, 1
call fcn.100aae90
push 0x10083420
mov ecx, esi
call fcn.100aae20
add esp, 4
mov ecx, esi
call fcn.100aaec0
mov eax, 3
call fcn.100aae90
mov ebx, dword [ebp - 0x24]
movzx eax, word [ebx]
push eax
push 0x10083434
mov ecx, esi
call fcn.100aae20
add esp, 8
mov ecx, esi
call fcn.100aaec0
movzx eax, word [ebx]
movzx ecx, ax
mov dword [ebp - 0x30], ecx
mov ebx, dword [ebp - 0x24]
movzx edx, ax
mov dword [ebp - 0x38], edx
mov eax, dword [ebx + 4]
shr eax, 2
cmp edi, eax
jb 0x100aeb10
nop
mov ecx, dword [ebx + 0xc]
add ebx, 8
shr ecx, 2
cmp edi, ecx
jae 0x100aeb00
mov dword [ebp - 0x24], ebx
mov ecx, dword [ebp - 8]
test ecx, ecx
je 0x100aeb54
mov eax, dword [ebp - 0x1c]
cmp eax, 0x2a
je 0x100aeb2e
cmp eax, 0x2b
je 0x100aeb2e
cmp eax, 0x27
je 0x100aeb2e
cmp eax, 0x1d
jne 0x100aeb32
dec ecx
mov dword [ebp - 8], ecx
test ecx, ecx
jbe 0x100aeb54
mov edi, dword [ebp - 8]
lea esp, [esp]
push 0x10083410
mov ecx, esi
call fcn.100aae20
add esp, 4
sub edi, 1
jne 0x100aeb40
mov edx, dword [ebp - 4]
test dword [edx], 0x40000000
je 0x100aebaf
cmp dword [esi + 0x10], 0
je 0x100aeb7d
mov eax, dword [0x101e3278]
push eax
push 0x10082184
mov ecx, esi
call fcn.100aae20
add esp, 8
inc dword [esi + 0x18]
push 0x10083438
mov ecx, esi
call fcn.100aae20
add esp, 4
cmp dword [esi + 0x10], 0
je 0x100aeba4
dec dword [esi + 0x18]
push 0x10082160
mov ecx, esi
call fcn.100aae20
add esp, 4
cmp dword [ebp + 0xc], 0
je 0x100aebbe
dec dword [ebp + 0xc]
jmp 0x100aebbe
push 0x100822f4
mov ecx, esi
call fcn.100aae20
add esp, 4
mov ebx, dword [ebp - 0x1c]
test ebx, ebx
je 0x100aec1a
cmp ebx, 0x19
je 0x100aec1a
cmp ebx, 0x1a
je 0x100aec1a
cmp ebx, 0x1b
je 0x100aec1a
cmp ebx, 0x1c
je 0x100aec1a
cmp ebx, 0x1d
je 0x100aec1a
cmp ebx, 0x1e
je 0x100aec1a
cmp ebx, 0x26
je 0x100aec1a
cmp ebx, 0x27
je 0x100aec1a
cmp ebx, 0x28
je 0x100aec1a
cmp ebx, 0x29
je 0x100aec1a
cmp ebx, 0x2a
je 0x100aec1a
cmp ebx, 0x2b
je 0x100aec1a
cmp ebx, 0x2c
je 0x100aec1a
cmp ebx, 0x2d
je 0x100aec1a
cmp ebx, 0xfffd
je 0x100aec1a
mov eax, 1
jmp 0x100aec1c
xor eax, eax
mov edi, dword [ebp - 4]
test dword [edi], 0x10000000
mov dword [ebp - 0x14], eax
mov dword [ebp - 0x18], 0
je 0x100aece7
test eax, eax
je 0x100aec3e
add edi, 8
jmp 0x100aec41
add edi, 4
test dword [edi], 0x80000000
je 0x100aece7
cmp dword [esi + 0x10], 0
je 0x100aec6c
mov ecx, dword [0x101e3278]
push ecx
push 0x10082184
mov ecx, esi
call fcn.100aae20
add esp, 8
inc dword [esi + 0x18]
push 0x10083124
mov ecx, esi
call fcn.100aae20
mov edx, dword [edi]
and edx, 0xf000000
add esp, 4
cmp edx, 0xd000000
jne 0x100aec9a
push 0x10083440
mov ecx, esi
call fcn.100aae20
add esp, 4
mov ecx, dword [ebp - 0xc]
mov edx, dword [edi]
lea eax, [ebp - 0x3c]
push eax
push ecx
push 0
push edx
push esi
call fcn.100acf50
mov edi, dword [edi]
mov ebx, esi
call fcn.100acea0
push 0x10083444
mov ecx, esi
call fcn.100aae20
add esp, 4
cmp dword [esi + 0x10], 0
je 0x100aecdd
dec dword [esi + 0x18]
push 0x10082160
mov ecx, esi
call fcn.100aae20
add esp, 4
mov ebx, dword [ebp - 0x1c]
mov dword [ebp - 0x18], 1
cmp dword [ebp - 0x18], 0
mov edi, dword [ebp + 0xc]
je 0x100aecf3
inc dword [ebp + 0xc]
cmp ebx, 0xfffd
ja case.0x100aed0e.49
je 0x100af4dc
cmp ebx, 0x60
ja case.0x100aed0e.49
jmp dword [ebx*4 + 0x100afffc]
push 0x1000260c
jmp 0x100af4e8
push 0x100024f4
jmp 0x100af4e8
push 0x100024ec
jmp 0x100af4e8
push 0x100024e4
jmp 0x100af4e8
push 0x10002610
jmp 0x100af4e8
push 0x100026b0
mov ecx, esi
call fcn.100aae20
movzx eax, word [ebp - 0xc]
add esp, 4
cmp eax, 0x2000
jb 0x100af4f2
inc dword [ebp + 0xc]
jmp 0x100af4f2
push 0x100026ac
mov ecx, esi
call fcn.100aae20
add esp, 4
inc dword [ebp + 0xc]
jmp 0x100af4f2
push 0x100025b8
mov ecx, esi
call fcn.100aae20
add esp, 4
inc dword [ebp + 0xc]
jmp 0x100af4f2
push 0x100026a8
mov ecx, esi
call fcn.100aae20
add esp, 4
inc dword [ebp + 0xc]
jmp 0x100af4f2
push 0x100026a4
mov ecx, esi
call fcn.100aae20
add esp, 4
inc dword [ebp + 0xc]
jmp 0x100af4f2
push 0x100026a0
mov ecx, esi
call fcn.100aae20
add esp, 4
inc dword [ebp + 0xc]
jmp 0x100af4f2
push 0x1000269c
mov ecx, esi
call fcn.100aae20
add esp, 4
inc dword [ebp + 0xc]
jmp 0x100af4f2
push 0x10002698
mov ecx, esi
call fcn.100aae20
add esp, 4
inc dword [ebp + 0xc]
jmp 0x100af4f2
push 0x10002694
mov ecx, esi
call fcn.100aae20
add esp, 4
inc dword [ebp + 0xc]
jmp 0x100af4f2
push 0x10002690
mov ecx, esi
call fcn.100aae20
add esp, 4
inc dword [ebp + 0xc]
jmp 0x100af4f2
push 0x1000268c
mov ecx, esi
call fcn.100aae20
add esp, 4
inc dword [ebp + 0xc]
jmp 0x100af4f2
push 0x10002688
mov ecx, esi
call fcn.100aae20
add esp, 4
inc dword [ebp + 0xc]
jmp 0x100af4f2
push 0x10002684
mov ecx, esi
call fcn.100aae20
add esp, 4
inc dword [ebp + 0xc]
jmp 0x100af4f2
push 0x10002680
mov ecx, esi
call fcn.100aae20
add esp, 4
inc dword [ebp + 0xc]
jmp 0x100af4f2
push 0x1000267c
mov ecx, esi
call fcn.100aae20
add esp, 4
inc dword [ebp + 0xc]
jmp 0x100af4f2
push 0x1000266c
mov ecx, esi
call fcn.100aae20
add esp, 4
inc dword [ebp + 0xc]
jmp 0x100af4f2
push 0x100025fc
mov ecx, esi
call fcn.100aae20
add esp, 4
inc dword [ebp + 0xc]
jmp 0x100af4f2
push 0x10002608
mov ecx, esi
call fcn.100aae20
add esp, 4
add dword [ebp + 0xc], 3
jmp 0x100af4f2
push 0x10002604
mov ecx, esi
call fcn.100aae20
add esp, 4
add dword [ebp + 0xc], 2
jmp 0x100af4f2
push 0x10002600
mov ecx, esi
call fcn.100aae20
add esp, 4
add dword [ebp + 0xc], 3
jmp 0x100af4f2
push 0x100025f8
mov ecx, esi
call fcn.100aae20
add esp, 4
add dword [ebp + 0xc], 3
jmp 0x100af4f2
push 0x10002504
mov ecx, esi
call fcn.100aae20
add esp, 4
inc dword [ebp + 0xc]
jmp 0x100af4f2
push 0x100024fc
mov ecx, esi
call fcn.100aae20
add esp, 4
inc dword [ebp + 0xc]
jmp 0x100af4f2
push 0x100024f8
mov ecx, esi
call fcn.100aae20
add esp, 4
inc dword [ebp + 0xc]
jmp 0x100af4f2
push 0x1000249c
mov ecx, esi
call fcn.100aae20
add esp, 4
inc dword [ebp + 0xc]
jmp 0x100af4f2
push 0x10002478
mov ecx, esi
call fcn.100aae20
add esp, 4
inc dword [ebp + 0xc]
jmp 0x100af4f2
push 0x100025f0
mov ecx, esi
call fcn.100aae20
add esp, 4
add dword [ebp + 0xc], 8
jmp 0x100af4f2
push 0x10002670
mov ecx, esi
call fcn.100aae20
movzx ecx, word [ebp - 0xc]
add esp, 4
cmp ecx, 0x2000
jae 0x100aeeec
inc dword [ebp + 0xc]
jmp 0x100af4f2
push 0x10002668
mov ecx, esi
call fcn.100aae20
movzx edx, word [ebp - 0xc]
add esp, 4
cmp edx, 0x2000
jae 0x100aef04
inc dword [ebp + 0xc]
jmp 0x100af4f2
push 0x1000265c
mov ecx, esi
call fcn.100aae20
add esp, 4
add dword [ebp + 0xc], 4
jmp 0x100af4f2
push 0x10002654
mov ecx, esi
call fcn.100aae20
add esp, 4
add dword [ebp + 0xc], 3
jmp 0x100af4f2
push 0x1000264c
mov ecx, esi
call fcn.100aae20
add esp, 4
add dword [ebp + 0xc], 4
jmp 0x100af4f2
push 0x10002644
mov ecx, esi
call fcn.100aae20
add esp, 4
add dword [ebp + 0xc], 3
jmp 0x100af4f2
push 0x1000263c
mov ecx, esi
call fcn.100aae20
add esp, 4
add dword [ebp + 0xc], 2
jmp 0x100af4f2
push 0x10002634
mov ecx, esi
call fcn.100aae20
add esp, 4
add dword [ebp + 0xc], 2
jmp 0x100af4f2
push 0x1000262c
mov ecx, esi
call fcn.100aae20
add esp, 4
add dword [ebp + 0xc], 3
jmp 0x100af4f2
push 0x10002624
mov ecx, esi
call fcn.100aae20
add dword [ebp + 0xc], 3
add esp, 4
inc dword [ebp - 8]
jmp 0x100af4f2
push 0x10002620
mov ecx, esi
call fcn.100aae20
add esp, 4
inc dword [ebp + 0xc]
jmp 0x100af4f2
push 0x10002618
mov ecx, esi
call fcn.100aae20
add esp, 4
add dword [ebp + 0xc], 2
jmp 0x100af4f2
push 0x100025ec
jmp 0x100af0c3
push 0x100025e4
mov ecx, esi
call fcn.100aae20
add esp, 4
add dword [ebp + 0xc], 2
jmp 0x100af4f2
push 0x100025e0
jmp 0x100af0c3
push 0x100025d8
mov ecx, esi
call fcn.100aae20
mov eax, 1
add dword [ebp + 0xc], eax
add esp, 4
add dword [ebp - 8], eax
jmp 0x100af4f2
push 0x100025d0
mov ecx, esi
call fcn.100aae20
add esp, 4
inc dword [ebp + 0xc]
jmp 0x100af4f2
push 0x100025c8
mov ecx, esi
call fcn.100aae20
add esp, 4
inc dword [ebp + 0xc]
jmp 0x100af4f2
push 0x100025c8
mov ecx, esi
call fcn.100aae20
add esp, 4
add dword [ebp + 0xc], 3
jmp 0x100af4f2
push 0x1000259c
mov ecx, esi
call fcn.100aae20
movzx eax, word [ebp - 0xc]
add esp, 4
cmp eax, 0x2000
ja 0x100aef04
inc dword [ebp + 0xc]
jmp 0x100af4f2
push 0x10002578
mov ecx, esi
call fcn.100aae20
add esp, 4
inc dword [ebp + 8]
jmp 0x100af4f2
push 0x10002570
mov ecx, esi
call fcn.100aae20
add esp, 4
inc dword [ebp + 8]
jmp 0x100af4f2
push 0x10002564
mov ecx, esi
call fcn.100aae20
add esp, 4
inc dword [ebp + 8]
jmp 0x100af4f2
push 0x10002558
mov ecx, esi
call fcn.100aae20
add esp, 4
inc dword [ebp + 8]
jmp 0x100af4f2
push 0x100024d8
mov ecx, esi
call fcn.100aae20
add esp, 4
inc dword [ebp + 8]
jmp 0x100af4f2
push 0x10002470
mov ecx, esi
call fcn.100aae20
add esp, 4
add dword [ebp + 8], 2
jmp 0x100af4f2
push 0x10002480
mov ecx, esi
call fcn.100aae20
inc dword [ebp + 8]
add esp, 4
add dword [ebp + 0xc], 2
jmp 0x100af4f2
push 0x1000254c
mov ecx, esi
call fcn.100aae20
add esp, 4
inc dword [ebp + 8]
jmp 0x100af4f2
push 0x10002540
mov ecx, esi
call fcn.100aae20
add esp, 4
inc dword [ebp + 8]
jmp 0x100af4f2
push 0x10002534
mov ecx, esi
call fcn.100aae20
add esp, 4
inc dword [ebp + 8]
jmp 0x100af4f2
push 0x10002528
mov ecx, esi
call fcn.100aae20
add esp, 4
inc dword [ebp + 8]
jmp 0x100af4f2
push 0x1000251c
mov ecx, esi
call fcn.100aae20
add esp, 4
inc dword [ebp + 8]
jmp 0x100af4f2
push 0x1000250c
mov ecx, esi
call fcn.100aae20
add esp, 4
inc dword [ebp + 8]
jmp 0x100af4f2
push 0x100024bc
mov ecx, esi
call fcn.100aae20
add esp, 4
inc dword [ebp + 8]
jmp 0x100af4f2
push 0x100024ac
mov ecx, esi
call fcn.100aae20
add esp, 4
inc dword [ebp + 8]
jmp 0x100af4f2
push 0x100024cc
mov ecx, esi
call fcn.100aae20
add esp, 4
inc dword [ebp + 8]
jmp 0x100af4f2
push 0x100024b4
mov ecx, esi
call fcn.100aae20
add esp, 4
inc dword [ebp + 8]
jmp 0x100af4f2
push 0x100024a0
mov ecx, esi
call fcn.100aae20
add esp, 4
inc dword [ebp + 0xc]
jmp 0x100af4f2
push 0x10002498
mov ecx, esi
call fcn.100aae20
add esp, 4
add dword [ebp + 0xc], 2
jmp 0x100af4f2
push 0x10002490
mov ecx, esi
call fcn.100aae20
add esp, 4
add dword [ebp + 0xc], 2
jmp 0x100af4f2
push 0x1000248c
mov ecx, esi
call fcn.100aae20
add esp, 4
add dword [ebp + 0xc], 2
jmp 0x100af4f2
push 0x10002488
mov ecx, esi
call fcn.100aae20
add esp, 4
add dword [ebp + 0xc], 2
jmp 0x100af4f2
push 0x10083448
jmp 0x100af4e8
push 0x10002678
mov ecx, esi
call fcn.100aae20
movzx ecx, word [ebp - 0xc]
add esp, 4
cmp ecx, 0x101
jne 0x100aed65
add dword [ebp + 0xc], 0xa
jmp 0x100af4f2
push 0x10002674
mov ecx, esi
call fcn.100aae20
movzx edx, word [ebp - 0xc]
add esp, 4
cmp edx, 0x101
jne 0x100aed65
add dword [ebp + 0xc], 0xa
jmp 0x100af4f2
push 0x10002664
mov ecx, esi
call fcn.100aae20
movzx eax, word [ebp - 0xc]
add esp, 4
cmp eax, 0x101
jne 0x100aed65
add dword [ebp + 0xc], 3
jmp 0x100af4f2
movzx ecx, word [ebp - 0xc]
cmp ecx, 0x104
mov ecx, esi
jb 0x100af498
mov eax, dword [ebp - 0x20]
shl eax, 0x10
cmp eax, 0x10000
je 0x100af486
cmp eax, 0x20000
je 0x100af474
push 0x10002590
call fcn.100aae20
add esp, 4
inc dword [ebp + 8]
jmp 0x100af4f2
push 0x10002580
call fcn.100aae20
add esp, 4
inc dword [ebp + 8]
jmp 0x100af4f2
push 0x10002588
call fcn.100aae20
add esp, 4
inc dword [ebp + 8]
jmp 0x100af4f2
push 0x10002598
call fcn.100aae20
add esp, 4
inc dword [ebp + 8]
jmp 0x100af4f2
movzx edx, word [ebp - 0xc]
mov ecx, esi
cmp edx, 0x104
jb 0x100af4ca
push 0x100025a4
call fcn.100aae20
add esp, 4
inc dword [ebp + 8]
jmp 0x100af4f2
push 0x100025ac
call fcn.100aae20
add esp, 4
inc dword [ebp + 8]
jmp 0x100af4f2
push 0x10002468
jmp 0x100af4e8
push 0x10083454
mov ecx, esi
call fcn.100aae20
add esp, 4
mov eax, dword [ebp - 0xc]
mov edx, eax
and edx, 0xffff0000
cmp edx, 0xffff0000
jne 0x100af518
movzx eax, ax
cmp eax, 0x200
jae 0x100af518
cmp dword [ebp + 0xc], edi
jbe 0x100af518
inc edi
mov dword [ebp + 0xc], edi
add dword [ebp - 4], 4
cmp ebx, 0x1f
jne 0x100af661
mov edi, dword [ebp - 4]
mov ecx, dword [edi]
mov eax, ecx
and eax, 0x78000000
je 0x100af5aa
mov ecx, esi
cmp eax, 0x10000000
je 0x100af592
cmp eax, 0x18000000
je 0x100af57a
cmp eax, 0x20000000
je 0x100af562
push 0x1008346c
call fcn.100aae20
add esp, 4
add edi, 4
mov dword [ebp - 4], edi
jmp case.default.0x100af679
push 0x10083464
call fcn.100aae20
add esp, 4
add edi, 4
mov dword [ebp - 4], edi
jmp case.default.0x100af679
push 0x1008345c
call fcn.100aae20
add esp, 4
add edi, 4
mov dword [ebp - 4], edi
jmp case.default.0x100af679
push 0x10083458
call fcn.100aae20
add esp, 4
add edi, 4
mov dword [ebp - 4], edi
jmp case.default.0x100af679
test ecx, 0x7fffffff
jne 0x100af5be
cmp edx, 0xfffe0000
jne 0x100af659
mov eax, ecx
and eax, 0xf
cmp eax, 0xd
ja case.default.0x100af5c8
jmp dword [eax*4 + 0x100b0180]
push 0x10083478
jmp 0x100af636
push 0x10083484
jmp 0x100af636
push 0x10083494
jmp 0x100af636
push 0x100834a4
jmp 0x100af636
push 0x100834ac
jmp 0x100af636
push 0x100834b4
jmp 0x100af636
push 0x100834c0
jmp 0x100af636
push 0x100834cc
jmp 0x100af636
push 0x100834d8
jmp 0x100af636
push 0x100834e4
jmp 0x100af636
push 0x100834f0
jmp 0x100af636
push 0x100834f8
jmp 0x100af636
push 0x10083500
jmp 0x100af636
push 0x10083508
jmp 0x100af636
push 0x1008346c
mov ecx, esi
call fcn.100aae20
movzx eax, word [edi + 2]
add esp, 4
and eax, 0xf
je 0x100af659
push eax
push 0x10083510
mov ecx, esi
call fcn.100aae20
add esp, 8
add edi, 4
mov dword [ebp - 4], edi
jmp case.default.0x100af679
cmp ebx, 0x29
je 0x100af670
cmp ebx, 0x2d
je 0x100af670
cmp ebx, 0x5e
jne case.default.0x100af679
mov eax, dword [ebp - 0x20]
dec eax
cmp eax, 5
ja case.default.0x100af679
jmp dword [eax*4 + 0x100b01b8]
push 0x10083514
jmp 0x100af6a8
push 0x10083518
jmp 0x100af6a8
push 0x1008351c
jmp 0x100af6a8
push 0x10083520
jmp 0x100af6a8
push 0x10083524
jmp 0x100af6a8
push 0x10083528
mov ecx, esi
call fcn.100aae20
add esp, 4
xor ebx, ebx
cmp dword [ebp - 0x14], ebx
je 0x100af83a
mov ecx, dword [ebp - 4]
mov edi, dword [ecx]
test edi, edi
jns 0x100af83a
mov edx, edi
shr edx, 0x18
and edx, 0xf
lea eax, [edx - 1]
cmp eax, 0xe
ja case.0x100af6e1.4
movzx eax, byte [eax + 0x100b01ec]
jmp dword [eax*4 + 0x100b01d0]
push 0x1008352c
jmp 0x100af710
push 0x10083530
jmp 0x100af710
push 0x10083534
jmp 0x100af710
push 0x10083538
jmp 0x100af710
push 0x1008353c
jmp 0x100af710
push 0x10083540
mov ecx, esi
call fcn.100aae20
add esp, 4
test edi, 0x100000
je 0x100af731
push 0x10083544
mov ecx, esi
call fcn.100aae20
add esp, 4
test edi, 0x200000
je 0x100af748
push 0x1008354c
mov ecx, esi
call fcn.100aae20
add esp, 4
test edi, 0x400000
je 0x100af75f
push 0x10083550
mov ecx, esi
call fcn.100aae20
add esp, 4
push 0x10082180
mov ecx, esi
call fcn.100aae20
add esp, 4
cmp dword [esi + 0x10], 0
je 0x100af78d
mov ecx, dword [0x101e3278]
push ecx
push 0x10082184
mov ecx, esi
call fcn.100aae20
add esp, 8
inc dword [esi + 0x18]
mov eax, dword [ebp - 0xc]
lea edx, [ebp - 0x3c]
push edx
push eax
push 0
push edi
push esi
call fcn.100acf50
mov ecx, edi
and ecx, 0xf0000
cmp ecx, 0xf0000
je 0x100af819
push 0x10082d54
mov ecx, esi
call fcn.100aae20
add esp, 4
test edi, 0x10000
je 0x100af7d4
push 0x10082e74
mov ecx, esi
call fcn.100aae20
add esp, 4
test edi, 0x20000
je 0x100af7eb
push 0x10082e78
mov ecx, esi
call fcn.100aae20
add esp, 4
test edi, 0x40000
je 0x100af802
push 0x10082e7c
mov ecx, esi
call fcn.100aae20
add esp, 4
test edi, 0x80000
je 0x100af819
push 0x10082e80
mov ecx, esi
call fcn.100aae20
add esp, 4
cmp dword [esi + 0x10], 0
je 0x100af831
dec dword [esi + 0x18]
push 0x10082160
mov ecx, esi
call fcn.100aae20
add esp, 4
add dword [ebp - 4], 4
mov ebx, 1
cmp dword [ebp - 0x18], 0
je 0x100af844
add dword [ebp - 4], 4
mov eax, dword [ebp - 0x1c]
cmp eax, 0x51
jne 0x100af91b
lea edi, [eax - 0x4d]
cmp dword [esi + 0x10], 0
je 0x100af872
mov edx, dword [0x101e3278]
push edx
push 0x10082184
mov ecx, esi
call fcn.100aae20
add esp, 8
inc dword [esi + 0x18]
push 0x10083158
mov ecx, esi
call fcn.100aae20
add esp, 4
cmp dword [esi + 0x10], 0
je 0x100af8b7
dec dword [esi + 0x18]
push 0x10082160
mov ecx, esi
call fcn.100aae20
add esp, 4
cmp dword [esi + 0x10], 0
je 0x100af8b7
mov eax, dword [0x101e327c]
push eax
push 0x10082184
mov ecx, esi
call fcn.100aae20
add esp, 8
inc dword [esi + 0x18]
cmp byte [0x101e8a91], 0
je 0x100af8d7
mov ecx, dword [ebp - 4]
mov edx, dword [ecx]
push edx
push 0x10082dcc
mov ecx, esi
call fcn.100aae20
add esp, 8
jmp 0x100af8f1
mov eax, dword [ebp - 4]
fld dword [eax]
sub esp, 8
fstp qword [esp]
push 0x1008355c
mov ecx, esi
call fcn.100aae20
add esp, 0xc
cmp dword [esi + 0x10], 0
je 0x100af909
dec dword [esi + 0x18]
push 0x10082160
mov ecx, esi
call fcn.100aae20
add esp, 4
add dword [ebp - 4], 4
sub edi, 1
jne 0x100af853
jmp 0x100afa76
cmp eax, 0x30
jne 0x100af9cb
lea edi, [eax - 0x2c]
cmp dword [esi + 0x10], 0
je 0x100af946
mov ecx, dword [0x101e3278]
push ecx
push 0x10082184
mov ecx, esi
call fcn.100aae20
add esp, 8
inc dword [esi + 0x18]
push 0x10083158
mov ecx, esi
call fcn.100aae20
add esp, 4
cmp dword [esi + 0x10], 0
je 0x100af98c
dec dword [esi + 0x18]
push 0x10082160
mov ecx, esi
call fcn.100aae20
add esp, 4
cmp dword [esi + 0x10], 0
je 0x100af98c
mov edx, dword [0x101e327c]
push edx
push 0x10082184
mov ecx, esi
call fcn.100aae20
add esp, 8
inc dword [esi + 0x18]
mov eax, dword [ebp - 4]
mov ecx, dword [eax]
push ecx
push 0x10082dd4
mov ecx, esi
call fcn.100aae20
add esp, 8
cmp dword [esi + 0x10], 0
je 0x100af9b9
dec dword [esi + 0x18]
push 0x10082160
mov ecx, esi
call fcn.100aae20
add esp, 4
add dword [ebp - 4], 4
sub edi, 1
jne 0x100af927
jmp 0x100afa76
cmp eax, 0x2f
jne 0x100afa76
cmp dword [esi + 0x10], 0
je 0x100af9f3
mov edx, dword [0x101e3278]
push edx
push 0x10082184
mov ecx, esi
call fcn.100aae20
add esp, 8
inc dword [esi + 0x18]
push 0x10083158
mov ecx, esi
call fcn.100aae20
add esp, 4
cmp dword [esi + 0x10], 0
je 0x100afa38
dec dword [esi + 0x18]
push 0x10082160
mov ecx, esi
call fcn.100aae20
add esp, 4
cmp dword [esi + 0x10], 0
je 0x100afa38
mov eax, dword [0x101e327c]
push eax
push 0x10082184
mov ecx, esi
call fcn.100aae20
add esp, 8
inc dword [esi + 0x18]
mov ecx, dword [ebp - 4]
cmp dword [ecx], 0
mov eax, 0x10081888
jne 0x100afa4a
mov eax, 0x10081890
push eax
push 0x10081b44
mov ecx, esi
call fcn.100aae20
add esp, 8
cmp dword [esi + 0x10], 0
je 0x100afa72
dec dword [esi + 0x18]
push 0x10082160
mov ecx, esi
call fcn.100aae20
add esp, 4
add dword [ebp - 4], 4
mov edx, dword [ebp - 4]
test dword [edx], 0x80000000
je 0x100afc25
cmp dword [esi + 0x10], 0
mov edi, dword [ebp - 4]
je 0x100afaa6
mov eax, dword [0x101e3278]
push eax
push 0x10082184
mov ecx, esi
call fcn.100aae20
add esp, 8
inc dword [esi + 0x18]
mov eax, 0x10083158
test ebx, ebx
jne 0x100afab4
mov eax, 0x10082180
push eax
mov ecx, esi
call fcn.100aae20
mov eax, dword [edi]
add esp, 4
xor ebx, ebx
mov dword [ebp - 0x18], eax
test eax, 0x2000
je 0x100afae9
movzx ecx, word [ebp - 0xc]
cmp ecx, 0x200
jb 0x100afae4
mov ebx, dword [edi + 4]
add edi, 4
mov dword [ebp - 4], edi
jmp 0x100afae9
mov ebx, 0xb0000000
mov edi, dword [ebp - 0x18]
and edi, 0xf000000
cmp edi, 0x6000000
ja 0x100afb6f
je 0x100afb68
cmp edi, 0x1000000
je 0x100afb14
cmp edi, 0x3000000
je 0x100afb14
cmp edi, 0x5000000
jne 0x100afb23
push 0x10082f5c
mov ecx, esi
call fcn.100aae20
add esp, 4
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 0x18]
lea edx, [ebp - 0x3c]
push edx
push eax
push ebx
push ecx
push esi
call fcn.100acf50
cmp edi, 0x8000000
ja 0x100afbac
je 0x100afb9e
cmp edi, 0x4000000
ja 0x100afb8e
je 0x100afba5
cmp edi, 0x2000000
je 0x100afb5e
cmp edi, 0x3000000
jne 0x100afbeb
push 0x10083568
jmp 0x100afbe1
push 0x10083564
jmp 0x100afb19
cmp edi, 0x8000000
je 0x100afb14
cmp edi, 0xc000000
je 0x100afb14
cmp edi, 0xd000000
jne 0x100afb23
push 0x10083440
jmp 0x100afb19
cmp edi, 0x5000000
je 0x100afba5
cmp edi, 0x7000000
jne 0x100afbeb
push 0x10083534
jmp 0x100afbe1
push 0x10083570
jmp 0x100afbe1
cmp edi, 0xb000000
ja 0x100afbd4
je 0x100afbdc
cmp edi, 0x9000000
je 0x100afbcd
cmp edi, 0xa000000
jne 0x100afbeb
push 0x1008357c
jmp 0x100afbe1
push 0x10083578
jmp 0x100afbe1
cmp edi, 0xc000000
jne 0x100afbeb
push 0x10083580
mov ecx, esi
call fcn.100aae20
add esp, 4
mov edi, dword [ebp - 0x18]
mov ebx, esi
call fcn.100acea0
add dword [ebp - 4], 4
cmp dword [esi + 0x10], 0
mov ebx, 1
je 0x100afc16
dec dword [esi + 0x18]
push 0x10082160
mov ecx, esi
call fcn.100aae20
add esp, 4
mov edx, dword [ebp - 4]
test dword [edx], 0x80000000
jne 0x100afa85
cmp dword [ebp - 0x10], 0
je 0x100afef6
cmp dword [ebp - 0x2c], 0
je 0x100afef6
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 0x64]
xor ebx, ebx
sar eax, 3
dec eax
mov dword [ebp - 0x20], eax
xor eax, eax
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x48], eax
mov eax, dword [ebp - 0x58]
cmp dword [ebp - 0x2c], eax
jae 0x100afdb8
mov eax, dword [ebp - 0x2c]
mov ecx, dword [ebp - 0x58]
sub ecx, eax
lea edi, [eax + 4]
dec ecx
mov eax, 0xcccccccd
mul ecx
shr edx, 4
inc edx
mov dword [ebp - 0x14], edx
lea esp, [esp]
mov eax, dword [edi + 0xc]
add eax, dword [ebp - 0x10]
mov ecx, dword [edi + 8]
lea edx, [ecx + ecx*2]
lea ecx, [eax + edx*4]
mov edx, eax
cmp eax, ecx
jae 0x100afdab
mov eax, dword [ebp - 0x20]
lea esp, [esp]
cmp dword [edx], eax
je 0x100afcb0
add edx, 0xc
cmp edx, ecx
jb 0x100afca0
jmp 0x100afdab
movzx ecx, word [edx + 4]
mov eax, 0xffff
cmp ax, cx
je 0x100afcf1
mov eax, dword [edi - 4]
test eax, eax
je 0x100afccc
mov ebx, dword [ebp - 0x10]
add eax, ebx
jmp 0x100afcce
xor eax, eax
mov dword [ebp - 0x84], eax
mov eax, dword [edi]
test eax, eax
je 0x100afce1
mov ebx, dword [ebp - 0x10]
add eax, ebx
jmp 0x100afce3
xor eax, eax
movzx ecx, cx
mov dword [ebp - 0x54], eax
mov dword [ebp - 0x74], ecx
mov ebx, 1
movzx ecx, word [edx + 6]
mov eax, 0xffff
cmp ax, cx
je 0x100afd2f
mov eax, dword [edi - 4]
test eax, eax
je 0x100afd0d
mov ebx, dword [ebp - 0x10]
add eax, ebx
jmp 0x100afd0f
xor eax, eax
mov dword [ebp - 0x80], eax
mov eax, dword [edi]
test eax, eax
je 0x100afd1f
mov ebx, dword [ebp - 0x10]
add eax, ebx
jmp 0x100afd21
xor eax, eax
movzx ecx, cx
mov dword [ebp - 0x50], eax
mov dword [ebp - 0x70], ecx
mov ebx, 1
movzx ecx, word [edx + 8]
mov eax, 0xffff
cmp ax, cx
je 0x100afd6d
mov eax, dword [edi - 4]
test eax, eax
je 0x100afd4b
mov ebx, dword [ebp - 0x10]
add eax, ebx
jmp 0x100afd4d
xor eax, eax
mov dword [ebp - 0x7c], eax
mov eax, dword [edi]
test eax, eax
je 0x100afd5d
mov ebx, dword [ebp - 0x10]
add eax, ebx
jmp 0x100afd5f
xor eax, eax
movzx ecx, cx
mov dword [ebp - 0x4c], eax
mov dword [ebp - 0x6c], ecx
mov ebx, 1
movzx ecx, word [edx + 0xa]
mov edx, 0xffff
cmp dx, cx
je 0x100afdab
mov eax, dword [edi - 4]
test eax, eax
je 0x100afd89
mov edx, dword [ebp - 0x10]
add eax, edx
jmp 0x100afd8b
xor eax, eax
mov dword [ebp - 0x78], eax
mov eax, dword [edi]
test eax, eax
je 0x100afd9b
mov edx, dword [ebp - 0x10]
add eax, edx
jmp 0x100afd9d
xor eax, eax
mov dword [ebp - 0x48], eax
movzx eax, cx
mov dword [ebp - 0x68], eax
mov ebx, 1
add edi, 0x14
sub dword [ebp - 0x14], 1
jne 0x100afc80
cmp dword [esi + 0x10], 0
je 0x100afdd7
mov ecx, dword [0x101e3270]
push ecx
push 0x10082184
mov ecx, esi
call fcn.100aae20
add esp, 8
inc dword [esi + 0x18]
test ebx, ebx
je 0x100afede
push 0x10083588
mov ecx, esi
call fcn.100aae20
add esp, 4
xor edx, edx
xor eax, eax
xor ecx, ecx
xor ebx, ebx
jmp 0x100afe00
cmp dword [ebp + ebx - 0x54], 0
je 0x100afebf
mov edi, dword [ebp + ebx - 0x84]
cmp eax, edi
jne 0x100afe35
cmp ecx, dword [ebp + ebx - 0x54]
jne 0x100afe35
mov edx, dword [ebp + ebx - 0x74]
push edx
push 0x10083590
mov ecx, esi
call fcn.100aae20
add esp, 8
jmp 0x100afeb4
test edx, edx
je 0x100afe48
push 0x10083594
mov ecx, esi
call fcn.100aae20
add esp, 4
test edi, edi
je 0x100afe8c
mov ecx, dword [ebp - 0x40]
mov eax, edi
mov dl, byte [eax]
cmp dl, byte [ecx]
jne 0x100afe71
test dl, dl
je 0x100afe6d
mov dl, byte [eax + 1]
cmp dl, byte [ecx + 1]
jne 0x100afe71
add eax, 2
add ecx, 2
test dl, dl
jne 0x100afe51
xor eax, eax
jmp 0x100afe76
sbb eax, eax
sbb eax, 0xffffffff
test eax, eax
je 0x100afe9b
push edi
push 0x10083598
mov ecx, esi
call fcn.100aae20
add esp, 8
jmp 0x100afe9b
push 0x100835a0
mov ecx, esi
call fcn.100aae20
add esp, 4
mov eax, dword [ebp + ebx - 0x74]
push eax
mov eax, dword [ebp + ebx - 0x54]
push eax
push 0x100835a4
mov ecx, esi
call fcn.100aae20
add esp, 0xc
mov ecx, dword [ebp + ebx - 0x54]
mov eax, edi
mov edx, 1
add ebx, 4
cmp ebx, 0x10
jb 0x100afe00
test edx, edx
je 0x100afede
push 0x100835ac
mov ecx, esi
call fcn.100aae20
add esp, 4
cmp dword [esi + 0x10], 0
je 0x100afef6
dec dword [esi + 0x18]
push 0x10082160
mov ecx, esi
call fcn.100aae20
add esp, 4
push 0x10082304
mov ecx, esi
call fcn.100aae20
add esp, 4
mov ebx, dword [ebp - 4]
mov edx, dword [ebx]
movzx ecx, byte [ebx + 2]
movzx eax, dx
mov dword [ebp - 0x1c], eax
mov dword [ebp - 0x20], ecx
cmp eax, 0xffff
jne 0x100ae8f8
push 0x10082304
mov ecx, esi
call fcn.100aae20
mov ebx, dword [ebp + 8]
mov edx, dword [ebp + 0xc]
add esp, 4
cmp dword [esi + 0x10], 0
lea edi, [ebx + edx]
je 0x100aff70
dec dword [esi + 0x18]
push 0x10082160
mov ecx, esi
call fcn.100aae20
add esp, 4
cmp dword [esi + 0x10], 0
je 0x100aff70
mov eax, dword [0x101e3270]
push eax
push 0x10082184
mov ecx, esi
call fcn.100aae20
add esp, 8
inc dword [esi + 0x18]
mov eax, 0x100820f3
cmp edi, 1
je 0x100aff7f
mov eax, 0x10002410
push eax
push edi
push 0x100835b0
mov ecx, esi
call fcn.100aae20
add esp, 0xc
test ebx, ebx
je 0x100affa8
mov ecx, dword [ebp + 0xc]
push ecx
push ebx
push 0x100835dc
mov ecx, esi
call fcn.100aae20
add esp, 0xc
push 0x10082304
mov ecx, esi
call fcn.100aae20
add esp, 4
cmp dword [esi + 0x10], 0
je 0x100affde
dec dword [esi + 0x18]
push 0x10082160
mov ecx, esi
call fcn.100aae20
add esp, 4
jmp 0x100affde
mov ebx, dword [ebp + 0x10]
mov eax, esi
call fcn.100acd90
mov dword [ebp - 0x28], eax
mov eax, dword [ebp - 0x34]
test eax, eax
je 0x100affed
mov edx, dword [eax]
push eax
mov eax, dword [edx + 8]
call eax
mov eax, dword [ebp - 0x28]
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret 0xc