Function at 0x100632f0
Capabilities:
Enumerate pe sections

Disassembly:
push ebp
mov ebp, esp
and esp, 0xffffffc0
sub esp, 0x74
mov eax, dword [0x1040e140]
xor eax, esp
mov dword [esp + 0x70], eax
push ebx
push esi
push edi
mov edi, ecx
mov dword [esp + 0x18], edx
mov ebx, dword [edi]
mov ecx, ebx
mov eax, dword [ebx + 0x44]
sub eax, 8
push eax
mov eax, dword [ebx + 0x40]
lea edx, [eax + edx*8]
call fcn.10070ee0
mov eax, dword [ebx + 0x44]
add esp, 4
mov ecx, dword [ebx + 0x40]
sub eax, ecx
sar eax, 3
lea edx, [eax - 1]
cmp edx, eax
jae 0x1006333f
lea ecx, [ecx + edx*8]
test ecx, ecx
jne 0x10063344
mov ecx, 0x1036ebc4
call fcn.10050b80
mov dword [esp + 0x14], 0xfff9
test eax, 0x2c0
je 0x100633a3
push 0x53
or edx, 0xffffffff
mov ecx, ebx
call fcn.1004e1d0
mov esi, dword [ebx + 0x44]
add esp, 4
mov edx, dword [ebx + 0x40]
mov ecx, esi
sub ecx, edx
sar ecx, 3
lea eax, [ecx - 1]
cmp eax, ecx
jae 0x10063382
lea eax, [edx + eax*8]
test eax, eax
jne 0x10063387
mov eax, 0x1036ebc4
movzx edx, word [eax + 6]
cmp dx, word [esp + 0x14]
jne 0x100633cb
mov eax, dword [eax]
test dword [eax], 0x200
jne 0x100633d5
mov ecx, ebx
call fcn.10051b90
mov ecx, dword [edi + 0x14]
test ecx, ecx
je 0x1006356b
mov esi, dword [ebx + 0x44]
xor edx, edx
or edx, 0xfff90000
mov dword [esp + 0x24], edx
cmp esi, dword [ebx + 0x38]
jae 0x10063c87
jmp 0x1006348d
mov eax, 0xfff7
cmp dx, ax
jne 0x1006339c
cmp esi, dword [ebx + 0x38]
jae 0x10063c93
lea edx, [ecx - 2]
cmp edx, ecx
jae 0x10063cb9
lea eax, [esi + 8]
mov dword [ebx + 0x44], eax
mov eax, dword [ebx + 0x40]
mov ecx, dword [eax + edx*8]
mov eax, dword [eax + edx*8 + 4]
mov edx, 0xfff8
mov dword [esi + 4], eax
shr eax, 0x10
mov dword [esi], ecx
cmp ax, dx
jb 0x1006340e
inc dword [ecx + 4]
mov ecx, dword [ebx + 0x44]
cmp ecx, dword [ebx + 0x38]
jae 0x10063c9f
mov esi, dword [ebx + 0x40]
mov eax, ecx
sub eax, esi
sar eax, 3
lea edx, [eax - 4]
mov dword [esp + 0x14], edx
cmp edx, eax
jae 0x10063cab
lea eax, [ecx + 8]
mov dword [ebx + 0x44], eax
mov eax, dword [esp + 0x14]
mov edx, dword [esi + edx*8]
mov eax, dword [esi + eax*8 + 4]
mov dword [ecx + 4], eax
mov dword [ecx], edx
mov ecx, 0xfff8
shr eax, 0x10
cmp ax, cx
jb 0x10063459
inc dword [edx + 4]
mov edx, dword [ebx + 0x44]
sub edx, dword [ebx + 0x40]
sar edx, 3
sub edx, 3
mov eax, edx
or eax, 1
jl 0x10063cdf
push 0
mov ecx, ebx
call fcn.10076a60
add esp, 4
mov edx, 0xfffffffe
mov ecx, ebx
call fcn.1004f4f0
jmp 0x100633a3
lea eax, [esi + 8]
mov dword [ebx + 0x44], eax
mov dword [esi], ecx
mov dword [esi + 4], edx
inc dword [ecx + 4]
mov ecx, ebx
mov edx, dword [esp + 0x18]
call fcn.1004f270
mov edx, dword [ebx + 0x44]
cmp edx, dword [ebx + 0x38]
jae 0x10063cc7
mov esi, dword [ebx + 0x40]
mov eax, edx
sub eax, esi
sar eax, 3
lea ecx, [eax - 4]
mov dword [esp + 0x14], ecx
cmp ecx, eax
jae 0x10063cab
lea eax, [edx + 8]
mov dword [ebx + 0x44], eax
mov eax, dword [esp + 0x14]
mov ecx, dword [esi + ecx*8]
mov eax, dword [esi + eax*8 + 4]
mov dword [edx + 4], eax
mov dword [edx], ecx
mov edx, 0xfff8
shr eax, 0x10
cmp ax, dx
jb 0x100634f1
inc dword [ecx + 4]
mov ecx, dword [ebx + 0x44]
cmp ecx, dword [ebx + 0x38]
jae 0x10063cd3
mov esi, dword [ebx + 0x40]
mov eax, ecx
sub eax, esi
sar eax, 3
lea edx, [eax - 4]
mov dword [esp + 0x14], edx
cmp edx, eax
jae 0x10063cab
lea eax, [ecx + 8]
mov dword [ebx + 0x44], eax
mov eax, dword [esp + 0x14]
mov edx, dword [esi + edx*8]
mov eax, dword [esi + eax*8 + 4]
mov dword [ecx + 4], eax
mov dword [ecx], edx
mov ecx, 0xfff8
shr eax, 0x10
cmp ax, cx
jb 0x1006353c
inc dword [edx + 4]
mov edx, dword [ebx + 0x44]
sub edx, dword [ebx + 0x40]
sar edx, 3
sub edx, 4
mov eax, edx
or eax, 2
jl 0x10063cdf
push 0
mov ecx, ebx
call fcn.10076a60
add esp, 4
mov edx, 0xfffffffe
mov ecx, ebx
call fcn.1004f4f0
mov eax, dword [ebx + 0x44]
mov ecx, 0xfff9
cmp word [eax - 2], cx
jne 0x1006363b
mov eax, dword [eax - 8]
mov ecx, dword [eax]
test ecx, 0x2000
je 0x10063612
test byte [edi + 0x24], 0xc
je 0x10063612
mov ecx, dword [eax + 0x28]
test ecx, ecx
je case.0x100636d7.65524
mov esi, dword [eax + 0x34]
mov edx, dword [eax + 0x30]
lea eax, [edx + esi]
cmp eax, dword [ecx + 0x10]
ja case.0x100636d7.65524
test byte [ecx], 0x80
je 0x100635e4
mov ecx, dword [ecx + 0x14]
add edx, ecx
push esi
mov ecx, edi
call fcn.10062d50
add esp, 4
mov ecx, ebx
call fcn.10051c30
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x70]
xor ecx, esp
call fcn.102e0890
mov esp, ebp
pop ebp
ret
add ecx, 0x18
add edx, ecx
mov ecx, edi
push esi
call fcn.10062d50
add esp, 4
mov ecx, ebx
call fcn.10051c30
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x70]
xor ecx, esp
call fcn.102e0890
mov esp, ebp
pop ebp
ret
mov eax, ecx
shr eax, 0x1b
add eax, 0xfffffffb
cmp eax, 0xc
ja case.0x1006362a.6
movzx eax, byte [eax + 0x10063d64]
jmp dword [eax*4 + 0x10063d54]
or edx, 0xffffffff
mov ecx, ebx
call fcn.1004fe60
mov eax, dword [ebx + 0x44]
mov ecx, dword [ebx + 0x40]
sub eax, ecx
mov edx, dword [edi + 0x44]
sar eax, 3
lea esi, [eax - 1]
mov dword [esp + 0x14], esi
cmp esi, eax
mov esi, dword [ebx + 0x44]
jae 0x10063662
mov eax, dword [esp + 0x14]
lea ecx, [ecx + eax*8]
test ecx, ecx
jne 0x10063667
mov ecx, 0x1036ebc4
call fcn.10050b80
test edx, eax
jne 0x10063c6c
test edx, 0x400
jne 0x10063ced
jmp 0x100636c5
or edx, 0xffffffff
mov ecx, ebx
call fcn.10050540
jmp 0x1006363b
push 0x6a
or edx, 0xffffffff
mov ecx, ebx
call fcn.1004e250
add esp, 4
mov edx, 0xfffffffe
mov ecx, ebx
call fcn.1004f4f0
jmp 0x1006363b
test ecx, 0x200
je 0x1006363b
test byte [edi + 0x24], 0xc
je 0x10063c6c
mov edx, dword [edi + 0x58]
jmp 0x10063c47
movzx eax, word [esi - 2]
add eax, 0xffff000d
cmp eax, 7
ja case.default.0x100636d7
jmp dword [eax*4 + 0x10063d74]
mov edx, dword [edi + 0x48]
jmp 0x10063c47
xor edx, edx
cmp word [esi - 4], dx
sete dl
add edx, 0x9c
jmp 0x10063c47
mov esi, dword [esi - 8]
lea eax, [esp + 0x38]
push 0x40
push 0
push eax
call fcn.102e2930
add esp, 0xc
cmp dword [edi + 0x30], 0
je 0x10063720
mov eax, str.__p_
mov ecx, str._null_
jmp 0x1006372a
mov eax, str.__ptr_:__p_
mov ecx, str.__ptr_:_null_
test esi, esi
push esi
cmove eax, ecx
push eax
lea eax, [esp + 0x40]
push 0x3f
push eax
call fcn.100431b0
lea esi, [esp + 0x48]
add esp, 0x10
lea ecx, [esi + 1]
mov al, byte [esi]
inc esi
test al, al
jne 0x10063747
mov eax, dword [edi + 0xc]
sub esi, ecx
mov ecx, dword [edi + 4]
sub eax, ecx
cmp eax, esi
jae 0x100637a8
sub ecx, dword [edi + 8]
mov eax, dword [edi]
mov dword [esp + 0x14], eax
mov eax, ecx
shr eax, 2
add eax, 0x40
mov dword [esp + 0x18], ecx
add eax, ecx
add eax, esi
mov dword [esp + 0x1c], eax
cmp eax, ecx
jb 0x10063d03
mov edx, dword [edi + 0x10]
mov ecx, dword [edi]
push eax
call fcn.1006cca0
mov eax, dword [edi + 0x10]
add esp, 4
mov ecx, dword [esp + 0x18]
mov eax, dword [eax + 0x14]
add ecx, eax
mov dword [edi + 8], eax
add eax, dword [esp + 0x1c]
mov dword [edi + 4], ecx
mov dword [edi + 0xc], eax
test esi, esi
je 0x100637bb
push esi
lea eax, [esp + 0x3c]
push eax
push ecx
call fcn.102e4250
add esp, 0xc
add dword [edi + 4], esi
mov ecx, ebx
call fcn.10051c30
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x70]
xor ecx, esp
call fcn.102e0890
mov esp, ebp
pop ebp
ret
mov edx, dword [esi - 8]
test dword [edx], 0x200
jne 0x10063c6c
mov ecx, edi
call fcn.10062af0
mov ecx, ebx
call fcn.10051c30
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x70]
xor ecx, esp
call fcn.102e0890
mov esp, ebp
pop ebp
ret
mov eax, dword [esi - 8]
mov ecx, dword [eax]
test ecx, 0x2000000
je 0x1006382d
nop dword [eax]
mov eax, dword [eax + 0x28]
mov ecx, dword [eax]
test ecx, 0x2000000
jne 0x10063820
and ecx, 0xf8000000
cmp ecx, 0x10000000
mov ecx, edi
jne 0x10063af9
mov esi, dword [edi]
lea edx, [esp + 0x18]
mov dword [esp + 0x20], esi
call fcn.10062ea0
mov eax, dword [esp + 0x18]
mov ecx, dword [edi + 4]
dec eax
mov dword [esp + 0x14], eax
mov eax, dword [edi + 0xc]
sub eax, ecx
cmp eax, 1
jae 0x100638b2
sub ecx, dword [edi + 8]
mov eax, dword [edi]
mov dword [esp + 0x1c], eax
mov eax, ecx
shr eax, 2
add eax, 0x41
mov dword [esp + 0x2c], ecx
add eax, ecx
mov dword [esp + 0x30], eax
cmp eax, ecx
jb 0x10063d18
mov edx, dword [edi + 0x10]
mov ecx, dword [edi]
push eax
call fcn.1006cca0
mov eax, dword [edi + 0x10]
add esp, 4
mov ecx, dword [eax + 0x14]
mov eax, dword [esp + 0x2c]
add eax, ecx
mov dword [edi + 8], ecx
mov dword [edi + 4], eax
mov eax, dword [esp + 0x30]
add eax, ecx
mov dword [edi + 0xc], eax
mov eax, dword [edi + 4]
mov ecx, esi
mov edx, dword [esp + 0x14]
mov byte [eax], 0x5b
inc dword [edi + 4]
call fcn.1004f9a0
xor edx, edx
mov dword [esp + 0x2c], eax
mov dword [esp + 0x1c], edx
test eax, eax
je 0x100639c4
cmp dword [edi + 0x18], 0
je 0x100638ec
mov edx, dword [edi + 0x3c]
mov ecx, edi
call fcn.10062df0
mov edx, dword [esp + 0x1c]
mov ecx, dword [esi + 0x44]
cmp ecx, dword [esi + 0x38]
jae 0x10063d3e
lea eax, [ecx + 8]
movd xmm0, edx
mov dword [esi + 0x44], eax
mov eax, edx
cvtdq2pd xmm0, xmm0
shr eax, 0x1f
or edx, 0xffffffff
addsd xmm0, qword [eax*8 + 0x103e4170]
movsd qword [ecx], xmm0
mov ecx, esi
call fcn.10050540
mov edx, dword [esp + 0x14]
mov ecx, edi
call fcn.100632f0
test eax, eax
jne 0x1006393d
mov edx, 0x9b
mov ecx, edi
call fcn.10062960
mov eax, dword [edi + 0xc]
mov esi, dword [edi + 4]
sub eax, esi
cmp eax, 1
jae 0x10063989
sub esi, dword [edi + 8]
mov ecx, dword [edi]
mov eax, esi
shr eax, 2
add eax, 0x41
add eax, esi
mov dword [esp + 0x30], eax
cmp eax, esi
jb 0x10063d2d
mov edx, dword [edi + 0x10]
push eax
call fcn.1006cca0
mov eax, dword [edi + 0x10]
add esp, 4
mov ecx, dword [eax + 0x14]
mov dword [edi + 8], ecx
lea eax, [ecx + esi]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x30]
add eax, ecx
mov dword [edi + 0xc], eax
mov eax, dword [edi + 4]
mov edx, dword [esp + 0x1c]
inc edx
mov dword [esp + 0x1c], edx
mov byte [eax], 0x2c
mov ecx, dword [edi + 4]
lea eax, [ecx + 1]
mov dword [edi + 4], eax
cmp edx, dword [esp + 0x2c]
jae 0x100639b0
mov esi, dword [esp + 0x20]
jmp 0x100638d8
cmp dword [edi + 0x18], 0
mov dword [edi + 4], ecx
je 0x100639c4
mov edx, dword [edi + 0x3c]
mov ecx, edi
dec edx
call fcn.10062df0
mov eax, dword [edi + 0xc]
mov esi, dword [edi + 4]
sub eax, esi
cmp eax, 1
jae 0x10063a10
sub esi, dword [edi + 8]
mov ecx, dword [edi]
mov eax, esi
shr eax, 2
add eax, 0x41
add eax, esi
mov dword [esp + 0x20], eax
cmp eax, esi
jb 0x10063d2d
mov edx, dword [edi + 0x10]
push eax
call fcn.1006cca0
mov eax, dword [edi + 0x10]
add esp, 4
mov ecx, dword [eax + 0x14]
mov dword [edi + 8], ecx
lea eax, [ecx + esi]
mov dword [edi + 4], eax
mov eax, dword [esp + 0x20]
add eax, ecx
mov dword [edi + 0xc], eax
mov eax, dword [edi + 4]
mov byte [eax], 0x5d
mov edx, dword [edi + 0x3c]
mov eax, dword [esp + 0x18]
dec edx
inc dword [edi + 4]
add eax, 0xffffffff
mov esi, dword [edi]
mov dword [edi + 0x3c], edx
lea ecx, [eax*8]
jns 0x10063a37
mov eax, dword [esi + 0x44]
jmp 0x10063a3a
mov eax, dword [esi + 0x40]
add eax, ecx
cmp edx, 0x40
jb 0x10063a5b
push dword [eax]
push 0x103cc680
push esi
call fcn.10051370
mov edx, dword [edi + 0x20]
add esp, 0xc
mov ecx, esi
call fcn.1004e720
mov edx, dword [esp + 0x18]
mov ecx, esi
call fcn.1004ef90
mov ecx, ebx
call fcn.10051c30
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x70]
xor ecx, esp
call fcn.102e0890
mov esp, ebp
pop ebp
ret
cmp dword [edi + 0x38], 0
je 0x10063aed
mov eax, dword [esi - 8]
test byte [eax], 0x80
mov ecx, dword [eax + 0x10]
je 0x10063ac1
mov edx, dword [eax + 0x14]
push ecx
mov ecx, edi
call fcn.10062d50
add esp, 4
mov ecx, ebx
call fcn.10051c30
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x70]
xor ecx, esp
call fcn.102e0890
mov esp, ebp
pop ebp
ret
push ecx
lea edx, [eax + 0x18]
mov ecx, edi
call fcn.10062d50
add esp, 4
mov ecx, ebx
call fcn.10051c30
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x70]
xor ecx, esp
call fcn.102e0890
mov esp, ebp
pop ebp
ret
or edx, 0xffffffff
mov ecx, ebx
call fcn.10050890
mov ecx, edi
call fcn.10063080
mov ecx, ebx
call fcn.10051c30
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x70]
xor ecx, esp
call fcn.102e0890
mov esp, ebp
pop ebp
ret
mov eax, dword [edi]
sub esp, 8
mov dword [esp + 0x20], eax
mov esi, dword [eax + 0x44]
movsd xmm0, qword [esi - 8]
movsd qword [esp + 0x28], xmm0
fld qword [esp + 0x28]
fstp qword [esp]
call fcn.102ec6b6
movsd xmm0, qword [esi - 8]
cwde
mov dword [esp + 0x28], eax
movsd qword [esp], xmm0
call fcn.102ec6c7
mov ecx, eax
add esp, 8
mov eax, dword [esp + 0x20]
cmp eax, 1
je 0x10063c24
cmp eax, 2
je 0x10063c24
test eax, eax
jne 0x10063be0
test ecx, ecx
je 0x10063be0
cmp dword [edi + 0x38], eax
je 0x10063be0
mov ecx, dword [esp + 0x18]
xor esi, esi
or esi, 0xfff80000
mov eax, dword [ecx + 0x128]
mov edx, dword [ecx + 0x44]
mov eax, dword [eax + 0xf8]
mov dword [esp + 0x20], eax
cmp edx, dword [ecx + 0x38]
jae 0x10063d4a
lea eax, [edx + 8]
mov dword [ecx + 0x44], eax
mov eax, dword [esp + 0x20]
mov dword [edx], eax
mov dword [edx + 4], esi
inc dword [eax + 4]
mov edx, dword [ecx + 0x44]
mov ecx, edi
mov edx, dword [edx - 8]
call fcn.100628d0
mov ecx, ebx
call fcn.10051c30
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x70]
xor ecx, esp
call fcn.102e0890
mov esp, ebp
pop ebp
ret
mov ecx, dword [esp + 0x18]
mov edx, 0xa
push 0
push 0
call fcn.1008a550
mov ecx, dword [esp + 0x20]
add esp, 8
mov edx, dword [ecx + 0x44]
mov ecx, edi
mov edx, dword [edx - 8]
call fcn.100628d0
mov ecx, ebx
call fcn.10051c30
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x70]
xor ecx, esp
call fcn.102e0890
mov esp, ebp
pop ebp
ret
test byte [edi + 0x24], 0xc
jne 0x10063c31
mov edx, 0x9b
jmp 0x10063c47
cmp eax, 2
jne 0x10063c3b
mov edx, dword [edi + 0x4c]
jmp 0x10063c47
test ecx, ecx
jne 0x10063c44
mov edx, dword [edi + 0x54]
jmp 0x10063c47
mov edx, dword [edi + 0x50]
mov ecx, edi
call fcn.10062960
mov ecx, ebx
call fcn.10051c30
mov eax, 1
pop edi
pop esi
pop ebx
mov ecx, dword [esp + 0x70]
xor ecx, esp
call fcn.102e0890
mov esp, ebp
pop ebp
ret
mov ecx, ebx
call fcn.10051c30
mov ecx, dword [esp + 0x7c]
xor eax, eax
pop edi
pop esi
pop ebx
xor ecx, esp
call fcn.102e0890
mov esp, ebp
pop ebp
ret
push 0x10ca
mov ecx, ebx
call fcn.1004c4c0
push 0x448
mov ecx, ebx
call fcn.1004c4c0
push 0x448
mov ecx, ebx
call fcn.1004c4c0
push 0xfffffffffffffffc
push 0x178
mov ecx, ebx
call fcn.1004c4a0
push 0xfffffffffffffffe
push 0x178
mov ecx, ebx
call fcn.1004c4a0
push 0x448
mov ecx, ebx
call fcn.1004c4c0
push 0x448
mov ecx, ebx
call fcn.1004c4c0
push 0x37
mov edx, str.C:UsersowenDesktopjre.codesduk_api_call.c
mov ecx, ebx
call fcn.1004c4e0
push str.unexpected_type
push 0x6000f81
mov edx, str.C:UsersowenDesktopjre.codesduk_api_stack.c
mov ecx, ebx
call fcn.1004c3b0
mov ecx, dword [esp + 0x14]
mov edx, str.C:UsersowenDesktopjre.codesduk_util_bufwriter.c
push str.buffer_too_long
push 0x47
call fcn.1004c480
mov ecx, dword [esp + 0x1c]
mov edx, str.C:UsersowenDesktopjre.codesduk_util_bufwriter.c
push str.buffer_too_long
push 0x47
call fcn.1004c480
push str.buffer_too_long
push 0x47
mov edx, str.C:UsersowenDesktopjre.codesduk_util_bufwriter.c
call fcn.1004c480
push 0x1143
mov ecx, esi
call fcn.1004c4c0
push 0x10ca
call fcn.1004c4c0
invalid