Function at 0x429100
Capabilities:
Enumerate pe sections

Disassembly:
mov al, byte [ecx + 0x401241]
sub esp, 0x20
push ebp
xor ebp, ebp
test al, al
push esi
mov dword [ecx + 0x48124c], ebp
mov dword [ecx + 0x483264], ebp
mov byte [ecx + 0x481251], 0
je 0x429161
xor eax, eax
mov al, byte [ecx + 0x483272]
cmp eax, 0x20
jg 0x429155
je 0x42914c
cmp eax, ebp
je 0x42913c
cmp eax, 0x10
jne 0x429161
mov al, byte [ecx + 0x401245]
test al, al
je 0x429179
cmp al, 0x10
jne 0x429161
jmp 0x429179
cmp byte [ecx + 0x401245], 0x20
jmp 0x429172
cmp eax, 0x30
je 0x42916b
cmp eax, 0xff
je 0x429179
pop esi
xor al, al
pop ebp
add esp, 0x20
ret 8
cmp byte [ecx + 0x401245], 0x30
sete al
test al, al
je 0x429161
mov al, byte [ecx + 0x40021e]
test al, al
mov esi, dword [esp + 0x30]
je 0x42918f
mov edx, dword [esp + 0x2c]
mov eax, edx
jmp 0x42919b
mov edx, dword [esp + 0x2c]
mov eax, esi
and eax, 1
lea eax, [eax + edx*2]
cmp eax, ebp
jl 0x429161
cmp eax, 0xa4
jge 0x429161
mov dword [ecx + 0x481254], edx
mov dword [ecx + 0x481258], esi
mov dl, byte [ecx + eax*4 + 0x24]
mov byte [esp + 0x2c], dl
mov dl, byte [ecx + eax*4 + 0x25]
mov byte [esp + 0x2d], dl
mov dl, byte [ecx + eax*4 + 0x26]
mov al, byte [ecx + eax*4 + 0x27]
mov byte [esp + 0x2e], dl
mov byte [esp + 0x2f], al
mov eax, dword [esp + 0x2c]
cmp eax, 0x20
jb 0x429161
cmp eax, 0x400000
jae 0x429161
lea eax, [eax + ecx + 4]
mov dword [ecx + 0x48325c], eax
mov dl, byte [eax + 4]
mov byte [ecx + 0x48124c], dl
mov al, byte [eax + 5]
mov byte [ecx + 0x48124d], al
mov byte [ecx + 0x48124f], 0
mov byte [ecx + 0x48124e], 0
mov eax, dword [ecx + 0x48325c]
mov dl, byte [eax + 0xe]
push ebx
push edi
mov edi, dword [ecx + 0x48124c]
cmp edi, ebp
mov byte [esp + 0x34], dl
mov dl, byte [eax + 0xf]
mov byte [esp + 0x35], dl
mov byte [esp + 0x37], 0
mov byte [esp + 0x36], 0
mov byte [ecx + 0x481250], 0
jne 0x42924f
mov al, byte [ecx + 0x483278]
mov byte [ecx + 0x481250], al
jmp 0x429286
jle 0x429286
mov byte [esp + 0x37], 0
mov byte [esp + 0x36], 0
mov dl, byte [eax + 0xe]
mov byte [esp + 0x34], dl
mov dl, byte [eax + 0xf]
mov byte [esp + 0x35], dl
mov dl, byte [eax + 6]
test dl, dl
je 0x42927f
mov esi, dword [esp + 0x34]
inc ebp
cmp ebp, edi
lea eax, [eax + esi + 0x10]
jl 0x42925b
jmp 0x42928a
mov byte [ecx + 0x481250], 1
mov esi, dword [esp + 0x34]
mov al, byte [ecx + 0x481250]
mov dl, al
neg dl
sbb edx, edx
and edx, 6
add edx, 6
mov ebx, edx
mov dl, al
neg dl
mov dword [esp + 0x28], ebx
sbb edx, edx
and edx, 3
mov dword [esp + 0x1c], edx
mov dl, al
neg dl
sbb edx, edx
and edx, 0x28
add edx, 0x28
mov dword [esp + 0x18], edx
mov dl, al
neg dl
sbb edx, edx
and edx, 0x18
add edx, 0x1a
mov dword [esp + 0x20], edx
mov dl, al
neg dl
sbb edx, edx
and edx, 0xb
add edx, 0xb
mov dword [esp + 0x24], edx
mov dl, byte [ecx + 0x401245]
xor ebp, ebp
cmp dl, 0x30
mov dword [esp + 0x38], ebp
je 0x4293a3
cmp dl, 0x20
je 0x4293a3
test al, al
je 0x429356
cmp esi, 0x100
jne 0x42931c
cmp edi, 0x10
jne 0x429421
mov ebp, 0x33
jmp 0x42941d
cmp esi, 0x200
jne 0x429337
cmp edi, 9
jne 0x429421
mov ebp, 0x50
jmp 0x42941d
cmp esi, 0x400
jne 0x429421
cmp edi, 5
jne 0x429421
mov ebp, 0x74
jmp 0x42941d
cmp esi, 0x80
jne 0x429371
cmp edi, 0x10
jne 0x429421
mov ebp, 0x1b
jmp 0x42941d
cmp esi, 0x100
jne 0x42938c
cmp edi, 9
jne 0x429421
mov ebp, 0x2a
jmp 0x42941d
cmp esi, 0x200
jne 0x429421
cmp edi, 5
jne 0x429421
jmp 0x429418
test al, al
je 0x4293e3
cmp esi, 0x100
jne 0x4293bb
cmp edi, 0x1a
jne 0x429421
mov ebp, 0x36
jmp 0x42941d
cmp esi, 0x200
jne 0x4293cf
cmp edi, 0xf
jne 0x429421
mov ebp, 0x54
jmp 0x42941d
cmp esi, 0x400
jne 0x429421
cmp edi, 8
jne 0x429421
mov ebp, 0x74
jmp 0x42941d
cmp esi, 0x80
jne 0x4293f7
cmp edi, 0x1a
jne 0x429421
mov ebp, 0x1b
jmp 0x42941d
cmp esi, 0x100
jne 0x42940b
cmp edi, 0xf
jne 0x429421
mov ebp, 0x2a
jmp 0x42941d
cmp esi, 0x200
jne 0x429421
cmp edi, 8
jne 0x429421
mov ebp, 0x3a
mov dword [esp + 0x38], ebp
mov esi, dword [ecx + 0x48325c]
xor eax, eax
test edi, edi
mov dword [esp + 0x10], eax
mov dword [esp + 0x14], eax
jle 0x42949f
mov edi, dword [esp + 0x1c]
mov edx, dword [esp + 0x24]
add edx, edi
lea edx, [edx + ebx + 7]
mov byte [esp + 0x37], al
mov byte [esp + 0x36], al
mov dword [esp + 0x2c], edx
lea edi, [ecx + 0x48125c]
mov dl, byte [esi + 0xe]
mov byte [esp + 0x34], dl
mov dl, byte [esi + 0xf]
mov byte [esp + 0x35], dl
mov edx, dword [esp + 0x2c]
mov dword [edi], eax
add eax, edx
mov edx, dword [esp + 0x34]
test edx, edx
jle 0x429487
mov ebp, dword [esp + 0x1c]
add ebp, ebx
add ebp, edx
lea eax, [eax + ebp + 3]
inc dword [esp + 0x10]
mov ebp, dword [esp + 0x38]
lea esi, [esi + edx + 0x10]
mov edx, dword [esp + 0x14]
inc edx
add edi, 4
cmp edx, dword [ecx + 0x48124c]
mov dword [esp + 0x14], edx
jl 0x429455
mov edx, dword [esp + 0x1c]
add edx, ebx
test ebp, ebp
lea edx, [eax + edx + 1]
mov dword [esp + 0x14], edx
jne 0x42953b
mov eax, dword [ecx + 0x48327c]
test eax, eax
jne 0x42951d
mov al, byte [ecx + 0x401241]
test al, al
je 0x4294ed
mov al, byte [ecx + 0x401245]
cmp al, 0x30
jne 0x4294da
mov eax, 0x30d4
jmp 0x42951d
cmp al, 0x20
jne 0x4294e5
mov eax, 0x28aa
jmp 0x42951d
mov al, byte [ecx + 0x481250]
jmp 0x42950f
mov al, byte [ecx + 0x483272]
cmp al, 0x30
jne 0x4294fe
mov eax, 0x30d4
jmp 0x42951d
cmp al, 0x20
jne 0x429509
mov eax, 0x28aa
jmp 0x42951d
mov al, byte [ecx + 0x483278]
neg al
sbb eax, eax
and eax, 0xc4e
add eax, 0xc1c
mov esi, dword [esp + 0x20]
sub eax, edx
mov edx, dword [esp + 0x18]
sub eax, esi
sub eax, edx
mov edx, dword [esp + 0x10]
lea esi, [edx + 1]
cdq
idiv esi
mov ebp, eax
mov dword [esp + 0x38], ebp
mov edi, dword [ecx + 0x48327c]
test edi, edi
je 0x429549
mov eax, edi
jmp 0x4295a7
mov al, byte [ecx + 0x401241]
test al, al
je 0x429577
mov al, byte [ecx + 0x401245]
cmp al, 0x30
jne 0x429564
mov eax, 0x30d4
jmp 0x4295a7
cmp al, 0x20
jne 0x42956f
mov eax, 0x28aa
jmp 0x4295a7
mov al, byte [ecx + 0x481250]
jmp 0x429599
mov al, byte [ecx + 0x483272]
cmp al, 0x30
jne 0x429588
mov eax, 0x30d4
jmp 0x4295a7
cmp al, 0x20
jne 0x429593
mov eax, 0x28aa
jmp 0x4295a7
mov al, byte [ecx + 0x483278]
neg al
sbb eax, eax
and eax, 0xc4e
add eax, 0xc1c
mov edx, dword [esp + 0x10]
mov ebx, dword [esp + 0x14]
imul edx, ebp
mov esi, dword [esp + 0x18]
sub eax, edx
mov edx, dword [esp + 0x20]
sub eax, ebx
sub eax, edx
sub eax, esi
cmp ebp, 8
mov ebx, eax
jl 0x4295d2
cmp ebx, 8
jge 0x4296cc
test edi, edi
je 0x4295da
mov eax, edi
jmp 0x429638
mov al, byte [ecx + 0x401241]
test al, al
je 0x429608
mov al, byte [ecx + 0x401245]
cmp al, 0x30
jne 0x4295f5
mov eax, 0x30d4
jmp 0x429638
cmp al, 0x20
jne 0x429600
mov eax, 0x28aa
jmp 0x429638
mov al, byte [ecx + 0x481250]
jmp 0x42962a
mov al, byte [ecx + 0x483272]
cmp al, 0x30
jne 0x429619
mov eax, 0x30d4
jmp 0x429638
cmp al, 0x20
jne 0x429624
mov eax, 0x28aa
jmp 0x429638
mov al, byte [ecx + 0x483278]
neg al
sbb eax, eax
and eax, 0xc4e
add eax, 0xc1c
sub eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
lea esi, [edx + 3]
cdq
idiv esi
test edi, edi
mov ebp, eax
mov esi, ebp
mov dword [esp + 0x38], ebp
mov edx, ebp
mov dword [esp + 0x18], esi
je 0x42965c
mov eax, edi
jmp 0x4296ba
mov al, byte [ecx + 0x401241]
test al, al
je 0x42968a
mov al, byte [ecx + 0x401245]
cmp al, 0x30
jne 0x429677
mov eax, 0x30d4
jmp 0x4296ba
cmp al, 0x20
jne 0x429682
mov eax, 0x28aa
jmp 0x4296ba
mov al, byte [ecx + 0x481250]
jmp 0x4296ac
mov al, byte [ecx + 0x483272]
cmp al, 0x30
jne 0x42969b
mov eax, 0x30d4
jmp 0x4296ba
cmp al, 0x20
jne 0x4296a6
mov eax, 0x28aa
jmp 0x4296ba
mov al, byte [ecx + 0x483278]
neg al
sbb eax, eax
and eax, 0xc4e
add eax, 0xc1c
mov edi, dword [esp + 0x10]
add edi, 2
imul edi, ebp
sub eax, edi
sub eax, dword [esp + 0x14]
mov ebx, eax
cmp ebp, 8
jl 0x4296d6
cmp ebx, 8
jge 0x4296ee
mov ebx, 8
mov esi, ebx
mov dword [esp + 0x38], ebx
mov edx, ebx
mov dword [esp + 0x18], esi
mov byte [ecx + 0x481251], 1
mov eax, dword [esp + 0x28]
add esi, edx
mov edx, dword [esp + 0x1c]
add esi, edx
cmp byte [ecx + 0x481251], 0
lea ebp, [esi + eax + 1]
mov dword [esp + 0x2c], ebp
je 0x4297bd
or esi, 0xffffffff
sub esi, edx
mov edx, dword [esp + 0x14]
sub esi, eax
mov eax, dword [ecx + 0x48124c]
add edx, esi
xor edi, edi
test eax, eax
mov dword [esp + 0x14], edx
jle 0x4297bd
lea esi, [ecx + 0x48125c]
mov eax, dword [ecx + 0x48327c]
test eax, eax
jne 0x42979e
mov al, byte [ecx + 0x401241]
test al, al
je 0x42976e
mov al, byte [ecx + 0x401245]
cmp al, 0x30
jne 0x42975b
mov eax, 0x30d4
jmp 0x42979e
cmp al, 0x20
jne 0x429766
mov eax, 0x28aa
jmp 0x42979e
mov al, byte [ecx + 0x481250]
jmp 0x429790
mov al, byte [ecx + 0x483272]
cmp al, 0x30
jne 0x42977f
mov eax, 0x30d4
jmp 0x42979e
cmp al, 0x20
jne 0x42978a
mov eax, 0x28aa
jmp 0x42979e
mov al, byte [ecx + 0x483278]
neg al
sbb eax, eax
and eax, 0xc4e
add eax, 0xc1c
sub eax, ebp
sub eax, ebx
imul eax, dword [esi]
cdq
idiv dword [esp + 0x14]
inc edi
add esi, 4
mov dword [esi - 4], eax
cmp edi, dword [ecx + 0x48124c]
jl 0x429736
mov edx, dword [esp + 0x18]
mov edi, dword [ecx + 0x48325c]
mov dword [ecx + 0x481a58], edx
mov edx, dword [ecx + 0x48124c]
test edx, edx
mov eax, ebp
mov dword [esp + 0x20], 0
jle 0x429889
mov edx, dword [esp + 0x24]
add edx, 6
mov byte [esp + 0x37], 0
mov byte [esp + 0x36], 0
mov dword [esp + 0x24], edx
lea esi, [ecx + 0x48125c]
jmp 0x429806
mov ebp, dword [esp + 0x2c]
mov dl, byte [edi + 0xe]
mov byte [esp + 0x34], dl
mov dl, byte [edi + 0xf]
mov byte [esp + 0x35], dl
mov dl, byte [ecx + 0x481251]
test dl, dl
je 0x429822
mov eax, dword [esi]
add eax, ebp
mov ebx, dword [esp + 0x28]
mov ebp, dword [esp + 0x1c]
mov dword [esi], eax
add eax, ebx
mov dword [esi + 0x800], eax
lea edx, [ebp + 1]
add eax, edx
mov edx, dword [esp + 0x24]
mov dword [esi + 0x1000], eax
add eax, edx
mov edx, dword [esp + 0x34]
test edx, edx
jle 0x429865
add ebp, ebx
mov ebx, dword [esp + 0x38]
lea eax, [eax + ebp + 1]
add ebx, edx
mov dword [esi + 0x1800], eax
lea eax, [eax + ebx + 2]
jmp 0x42986b
mov dword [esi + 0x1800], eax
mov ebx, dword [ecx + 0x48124c]
lea edi, [edi + edx + 0x10]
mov edx, dword [esp + 0x20]
inc edx
add esi, 4
cmp edx, ebx
mov dword [esp + 0x20], edx
jl 0x429802
pop edi
pop ebx
pop esi
mov al, 1
pop ebp
add esp, 0x20
ret 8