Function at 0x436050
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x28
push ebx
push ebp
mov dword [esp + 0x14], ecx
push esi
push edi
xor eax, eax
mov ecx, 0x740907
cmp byte [ecx], 0xff
je 0x436072
add ecx, 8
inc eax
cmp eax, 0x100
jl 0x436062
test eax, eax
lea ecx, [eax*8 + 0x740900]
jle 0x43652c
mov dword [esp + 0x34], eax
jmp 0x43608b
mov ecx, dword [esp + 0x28]
sub ecx, 8
xor eax, eax
mov dword [esp + 0x28], ecx
mov ax, word [ecx + 4]
mov ecx, dword [0x751164]
cmp eax, ecx
mov dword [esp + 0x10], eax
jae case.default.0x43624d
mov esi, dword [esp + 0x28]
xor ebx, ebx
mov al, byte [esi + 6]
mov bx, word [esi + 2]
mov dl, al
mov cl, byte [esi + 7]
shr al, 5
and al, 3
and edx, 0x1f
mov byte [esp + 0x20], al
xor eax, eax
mov ax, word [esi]
mov byte [esp + 0x18], cl
shl eax, 0x15
shl ebx, 0x17
shl edx, 5
sar eax, 0x15
sar ebx, 0x17
add edx, 0x71f8c8
sub eax, 0x40
sub ebx, 0x10
mov edi, edx
test cl, cl
mov dword [esp + 0x14], eax
jne 0x436227
cmp ebx, 0xfffffff0
jle case.default.0x43624d
cmp ebx, dword [0x46c794]
jge case.default.0x43624d
cmp dword [esp + 0x14], 0xfffffff0
jle case.default.0x43624d
mov eax, dword [0x46c790]
mov ecx, dword [esp + 0x14]
cmp ecx, eax
jge case.default.0x43624d
imul ebx, dword [0x4785bc]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x14]
add ecx, ebx
lea eax, [ecx + edx*2]
mov ecx, dword [esp + 0x10]
mov cl, byte [ecx + 0x741118]
cmp cl, 0xaa
je case.default.0x43624d
cmp cl, 0x55
mov ecx, dword [esp + 0x20]
jne 0x4361c1
and ecx, 0xff
cmp ecx, 3
ja case.default.0x43624d
jmp dword [ecx*4 + 0x436534]
mov edx, dword [esp + 0x10]
push edi
push eax
push edx
call fcn.0042e95c
add esp, 0xc
jmp case.default.0x43624d
push edi
push eax
mov eax, dword [esp + 0x18]
push eax
call fcn.0042e9b8
add esp, 0xc
jmp case.default.0x43624d
mov ecx, dword [esp + 0x10]
push edi
push eax
push ecx
call fcn.0042ea16
add esp, 0xc
jmp case.default.0x43624d
mov edx, dword [esp + 0x10]
push edi
push eax
push edx
call fcn.0042ea7a
add esp, 0xc
jmp case.default.0x43624d
and ecx, 0xff
cmp ecx, 3
ja case.default.0x43624d
jmp dword [ecx*4 + 0x436544]
push edi
push eax
mov eax, dword [esp + 0x18]
push eax
call fcn.0042eae0
add esp, 0xc
jmp case.default.0x43624d
mov ecx, dword [esp + 0x10]
push edi
push eax
push ecx
call fcn.0042eb5a
add esp, 0xc
jmp case.default.0x43624d
mov edx, dword [esp + 0x10]
push edi
push eax
push edx
call fcn.0042ebd8
add esp, 0xc
jmp case.default.0x43624d
push edi
push eax
mov eax, dword [esp + 0x18]
push eax
call fcn.0042ec5a
add esp, 0xc
jmp case.default.0x43624d
mov eax, dword [esp + 0x18]
and cl, 0xf
mov byte [esp + 0x18], cl
mov ecx, dword [esp + 0x20]
and eax, 0xff
and ecx, 0xff
shr eax, 4
cmp ecx, 3
ja case.default.0x43624d
jmp dword [ecx*4 + 0x436554]
test eax, eax
jl case.default.0x43624d
inc eax
mov dword [esp + 0x2c], eax
cmp ebx, 0xfffffff0
jle 0x4362d6
cmp ebx, dword [0x46c794]
jge 0x4362d6
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
and eax, 0xff
jl 0x4362d6
inc eax
mov dword [esp + 0x24], eax
cmp ebp, 0xfffffff0
jle 0x4362c7
cmp ebp, dword [0x46c790]
jge 0x4362c7
mov ecx, ebx
mov edx, dword [esp + 0x1c]
imul ecx, dword [0x4785bc]
add edx, ecx
mov cl, byte [esi + 0x741118]
cmp cl, 0xaa
lea eax, [edx + ebp*2]
je 0x4362c7
push edi
cmp cl, 0x55
push eax
push esi
jne 0x4362bf
call fcn.0042e95c
jmp 0x4362c4
call fcn.0042eae0
add esp, 0xc
mov eax, dword [esp + 0x24]
add ebp, 0x10
inc esi
dec eax
mov dword [esp + 0x24], eax
jne 0x436286
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x2c]
add ebx, 0x10
add ecx, 0x10
dec eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x2c], eax
jne 0x436261
jmp case.default.0x43624d
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
and ecx, 0xff
mov dword [esp + 0x24], ecx
shl ecx, 4
add edx, ecx
test eax, eax
mov dword [esp + 0x14], edx
jl case.default.0x43624d
inc eax
mov dword [esp + 0x30], eax
cmp ebx, 0xfffffff0
jle 0x436392
cmp ebx, dword [0x46c794]
jge 0x436392
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
test eax, eax
jl 0x436392
inc eax
mov dword [esp + 0x2c], eax
cmp ebp, 0xfffffff0
jle 0x436383
cmp ebp, dword [0x46c790]
jge 0x436383
mov eax, ebx
mov ecx, dword [esp + 0x1c]
imul eax, dword [0x4785bc]
add ecx, eax
lea eax, [ecx + ebp*2]
mov cl, byte [esi + 0x741118]
cmp cl, 0xaa
je 0x436383
push edi
cmp cl, 0x55
push eax
push esi
jne 0x43637b
call fcn.0042e9b8
jmp 0x436380
call fcn.0042eb5a
add esp, 0xc
mov eax, dword [esp + 0x2c]
sub ebp, 0x10
inc esi
dec eax
mov dword [esp + 0x2c], eax
jne 0x436342
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x30]
add ebx, 0x10
add ecx, 0x10
dec eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x30], eax
jne 0x436320
jmp case.default.0x43624d
mov edx, eax
shl edx, 4
add ebx, edx
test eax, eax
jl case.default.0x43624d
inc eax
mov dword [esp + 0x2c], eax
cmp ebx, 0xfffffff0
jle 0x43643d
cmp ebx, dword [0x46c794]
jge 0x43643d
mov eax, dword [esp + 0x18]
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
and eax, 0xff
jl 0x43643d
inc eax
mov dword [esp + 0x30], eax
cmp ebp, 0xfffffff0
jle 0x43642e
cmp ebp, dword [0x46c790]
jge 0x43642e
mov eax, ebx
mov ecx, dword [esp + 0x1c]
imul eax, dword [0x4785bc]
add ecx, eax
lea eax, [ecx + ebp*2]
mov cl, byte [esi + 0x741118]
cmp cl, 0xaa
je 0x43642e
push edi
cmp cl, 0x55
push eax
push esi
jne 0x436426
call fcn.0042ea16
jmp 0x43642b
call fcn.0042ebd8
add esp, 0xc
mov eax, dword [esp + 0x30]
add ebp, 0x10
inc esi
dec eax
mov dword [esp + 0x30], eax
jne 0x4363ed
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x2c]
sub ebx, 0x10
add ecx, 0x10
dec eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x2c], eax
jne 0x4363c8
jmp case.default.0x43624d
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x14]
and ecx, 0xff
mov dword [esp + 0x24], ecx
shl ecx, 4
add edx, ecx
mov dword [esp + 0x14], edx
mov edx, eax
shl edx, 4
add ebx, edx
test eax, eax
jl case.default.0x43624d
inc eax
mov dword [esp + 0x2c], eax
cmp ebx, 0xfffffff0
jle 0x436500
cmp ebx, dword [0x46c794]
jge 0x436500
mov eax, dword [esp + 0x24]
mov esi, dword [esp + 0x10]
mov ebp, dword [esp + 0x14]
test eax, eax
jl 0x436500
inc eax
mov dword [esp + 0x30], eax
cmp ebp, 0xfffffff0
jle 0x4364f1
cmp ebp, dword [0x46c790]
jge 0x4364f1
mov eax, ebx
mov ecx, dword [esp + 0x1c]
imul eax, dword [0x4785bc]
add ecx, eax
lea eax, [ecx + ebp*2]
mov cl, byte [esi + 0x741118]
cmp cl, 0xaa
je 0x4364f1
push edi
cmp cl, 0x55
push eax
push esi
jne 0x4364e9
call fcn.0042ea7a
jmp 0x4364ee
call fcn.0042ec5a
add esp, 0xc
mov eax, dword [esp + 0x30]
sub ebp, 0x10
inc esi
dec eax
mov dword [esp + 0x30], eax
jne 0x4364b0
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x2c]
sub ebx, 0x10
add ecx, 0x10
dec eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x2c], eax
jne 0x43648e
mov eax, dword [esp + 0x34]
dec eax
mov dword [esp + 0x34], eax
jne 0x436087
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x28
ret