Function at 0x43a930
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x464
mov eax, dword [esp + 0x468]
push ebx
mov ebx, ecx
push ebp
xor edx, edx
push esi
mov ebp, dword [ebx + 0xa27bff]
cmp eax, 0x1011
push edi
mov dword [esp + 0x10], 1
mov dl, byte [ebx + ebp + 0x5a71b4]
jg 0x43b087
je 0x43af10
cmp eax, 0x21
jg 0x43ad12
je 0x43ac2b
cmp eax, 0x10
je 0x43ab89
cmp eax, 0x20
jne 0x43b40b
xor ebp, ebp
cmp edx, ebp
jle 0x43ab63
lea eax, [edx + edx*8]
mov dword [esp + 0x20], ebp
mov dword [esp + 0x10], ebp
lea ecx, [edx + eax*4]
movsx eax, word [ebx + ecx*2 + 0x7a1b81]
lea edx, [ebx + ecx*2]
cmp eax, ebp
movsx ecx, word [edx + 0x7a1b75]
jle 0x43aa2d
lea eax, [edx + 0x7a1b83]
mov dword [esp + 0x18], ecx
mov dword [esp + 0x1c], eax
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
xor eax, eax
movsx esi, word [esi]
cmp esi, ebp
jle 0x43a9fd
movsx edi, word [edx + 0x7a1b97]
cmp dword [esp + 0x10], edi
je 0x43aa2d
movsx edi, word [edx + 0x7a1b79]
add ecx, edi
mov edi, dword [esp + 0x10]
inc eax
inc edi
cmp eax, esi
mov dword [esp + 0x10], edi
jl 0x43a9d9
movsx eax, word [edx + 0x7a1b7d]
mov edi, dword [esp + 0x18]
mov esi, dword [esp + 0x20]
add edi, eax
mov eax, dword [esp + 0x1c]
add eax, 2
inc esi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], esi
movsx eax, word [edx + 0x7a1b81]
cmp esi, eax
mov dword [esp + 0x18], edi
jl 0x43a9c8
mov dword [esp + 0x24], ecx
mov dword [esp + 0x14], ebp
movsx eax, word [edx + 0x7a1b81]
movsx ecx, word [edx + 0x7a1b77]
cmp eax, ebp
mov dword [esp + 0x10], ecx
mov dword [esp + 0x1c], ebp
jle 0x43aadb
mov dword [esp + 0x18], ecx
lea ecx, [edx + 0x7a1b83]
mov dword [esp + 0x20], ecx
mov ecx, dword [esp + 0x20]
mov eax, dword [esp + 0x18]
mov dword [esp + 0x10], eax
xor eax, eax
movsx ecx, word [ecx]
cmp ecx, ebp
jle 0x43aaa2
movsx esi, word [edx + 0x7a1b97]
cmp dword [esp + 0x1c], esi
je 0x43aad4
movsx esi, word [edx + 0x7a1b7b]
mov edi, dword [esp + 0x10]
add edi, esi
inc eax
mov dword [esp + 0x10], edi
mov edi, dword [esp + 0x1c]
inc edi
cmp eax, ecx
mov dword [esp + 0x1c], edi
jl 0x43aa76
movsx eax, word [edx + 0x7a1b7f]
mov esi, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov edi, dword [esp + 0x20]
add esi, eax
movsx eax, word [edx + 0x7a1b81]
inc ecx
add edi, 2
cmp ecx, eax
mov dword [esp + 0x14], ecx
mov dword [esp + 0x18], esi
mov dword [esp + 0x20], edi
jl 0x43aa61
jmp 0x43aadb
inc word [edx + 0x7a1b97]
mov eax, dword [esp + 0x10]
xor ecx, ecx
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x47c]
lea esi, [esp + 0x74]
mov cx, word [eax]
lea edi, [eax + 0xc]
mov dword [esp + 0x2c], ecx
xor ecx, ecx
mov cx, word [eax + 2]
mov dword [esp + 0x14], esi
mov dword [esp + 0x30], ecx
xor ecx, ecx
mov cx, word [eax + 4]
mov dword [esp + 0x34], ecx
xor ecx, ecx
mov cx, word [eax + 6]
mov dword [esp + 0x38], ecx
xor ecx, ecx
mov cx, word [eax + 8]
mov dword [esp + 0x3c], ecx
xor ecx, ecx
mov cx, word [eax + 0xa]
xor eax, eax
mov dword [esp + 0x40], ecx
or ecx, 0xffffffff
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x14]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [ebx + 0x7a2185]
and ecx, 3
cmp eax, ebp
rep movsb byte es:[edi], byte [esi]
je 0x43ab63
mov dword [edx + 0x7a1b99], 1
cmp dword [ebx + 0xa27bef], 0xffffffff
jne 0x43ab78
mov ecx, dword [ebx + 0x5a6f04]
mov dword [ebx + 0xa27bef], ecx
lea edx, [esp + 0x74]
lea eax, [esp + 0x24]
push edx
push eax
push 0x20
jmp 0x43b400
mov eax, dword [esp + 0x47c]
xor ecx, ecx
xor edx, edx
mov cx, word [eax]
mov dx, word [eax + 2]
mov dword [esp + 0x24], ecx
xor ecx, ecx
mov cx, word [eax + 4]
mov dword [esp + 0x28], edx
xor edx, edx
mov dword [esp + 0x2c], ecx
mov dx, word [eax + 6]
xor ecx, ecx
mov cx, word [eax + 8]
mov dword [esp + 0x30], edx
xor edx, edx
mov dword [esp + 0x34], ecx
mov dx, word [eax + 0xa]
xor ecx, ecx
mov cx, word [eax + 0xc]
mov dword [esp + 0x38], edx
xor edx, edx
mov dword [esp + 0x3c], ecx
mov dx, word [eax + 0xe]
lea edi, [eax + 0x10]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x40], edx
lea edx, [esp + 0x74]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [ebx + 0xa27bef]
and ecx, 3
cmp eax, 0xffffffff
rep movsb byte es:[edi], byte [esi]
jne 0x43ac1a
mov ecx, dword [ebx + 0x5a6f04]
mov dword [ebx + 0xa27bef], ecx
lea edx, [esp + 0x74]
lea eax, [esp + 0x24]
push edx
push eax
push 0x10
jmp 0x43b400
mov ecx, 0x100
xor eax, eax
lea edi, [esp + 0x74]
test edx, edx
rep stosd dword es:[edi], eax
jle 0x43acda
lea ecx, [edx + edx*8]
lea edx, [edx + ecx*4]
movsx ecx, word [ebx + edx*2 + 0x7a1b75]
lea eax, [ebx + edx*2]
mov dword [esp + 0x24], ecx
xor ecx, ecx
movsx edx, word [eax + 0x7a1b77]
mov eax, dword [esp + 0x47c]
mov dword [esp + 0x28], edx
xor edx, edx
mov cx, word [eax]
mov dx, word [eax + 2]
mov dword [esp + 0x2c], ecx
xor ecx, ecx
mov cx, word [eax + 4]
mov dword [esp + 0x30], edx
xor edx, edx
mov dword [esp + 0x34], ecx
mov dx, word [eax + 6]
xor ecx, ecx
mov cx, word [eax + 8]
mov dword [esp + 0x38], edx
xor edx, edx
mov dword [esp + 0x3c], ecx
mov dx, word [eax + 0xa]
xor ecx, ecx
mov cx, word [eax + 0xc]
mov dword [esp + 0x40], edx
xor edx, edx
mov dword [esp + 0x44], ecx
mov dx, word [eax + 0xe]
lea edi, [eax + 0x10]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x48], edx
lea edx, [esp + 0x74]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov ecx, dword [ebx + 0xa27bef]
or eax, 0xffffffff
cmp ecx, eax
jne 0x43acf3
mov ecx, dword [ebx + 0x5a6f04]
mov dword [ebx + 0xa27bef], ecx
cmp dword [ebx + 0xa27bf3], eax
jne 0x43ad01
mov dword [ebx + 0xa27bf3], ebp
lea edx, [esp + 0x74]
lea eax, [esp + 0x24]
push edx
push eax
push 0x21
jmp 0x43b400
cmp eax, 0x30
je 0x43ae56
cmp eax, 0x1010
jne 0x43b40b
mov esi, dword [esp + 0x47c]
xor eax, eax
xor ebp, ebp
mov ax, word [esi]
cmp eax, ebp
jle 0x43ae21
cmp eax, 0x14
jg 0x43ae21
dec eax
lea ecx, [eax + eax*8]
lea edx, [eax + ecx*4]
xor eax, eax
lea edx, [ebx + edx*2]
lea ecx, [edx + 0x7a1bcd]
mov word [edx + 0x7a1bbd], bp
mov word [edx + 0x7a1bcb], bp
mov word [edx + 0x7a1bc9], bp
mov word [edx + 0x7a1bc7], bp
mov word [edx + 0x7a1bc5], bp
mov word [edx + 0x7a1bc3], bp
mov word [edx + 0x7a1bc1], bp
mov word [edx + 0x7a1bbf], bp
mov dword [ecx], eax
lea edi, [edx + 0x7a1be7]
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
mov ecx, 8
mov word [edx + 0x7a1be1], bp
mov dword [edx + 0x7a1be3], ebp
rep stosd dword es:[edi], eax
mov ax, word [esi + 2]
mov word [edx + 0x7a1bbf], ax
mov cx, word [esi + 4]
mov word [edx + 0x7a1bc1], cx
mov ax, word [esi + 6]
mov word [edx + 0x7a1bc3], ax
mov cx, word [esi + 8]
mov word [edx + 0x7a1bc5], cx
mov ax, word [esi + 0xa]
mov word [edx + 0x7a1bc7], ax
mov cx, word [esi + 0xc]
mov word [edx + 0x7a1bc9], cx
mov ax, word [esi + 0xe]
mov word [edx + 0x7a1bcb], ax
lea ecx, [edx + 0x7a1bcd]
lea eax, [esi + 0x10]
mov edx, 0xa
mov si, word [eax]
add eax, 2
mov word [ecx], si
add ecx, 2
dec edx
jne 0x43ae12
mov ecx, dword [ebx + 0xa27bff]
lea edx, [esp + 0x74]
lea eax, [esp + 0x24]
push edx
mov byte [ebx + ecx + 0x5a71b4], 1
push eax
push 0x1010
mov ecx, ebx
call fcn.0043b420
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x464
ret 8
mov eax, dword [esp + 0x47c]
dec edx
je 0x43ae75
dec edx
jne 0x43ae88
xor ecx, ecx
xor edx, edx
mov cx, word [eax + 4]
mov dx, word [eax + 6]
mov dword [esp + 0x24], ecx
jmp 0x43ae84
xor ecx, ecx
xor edx, edx
mov cx, word [eax]
mov dx, word [eax + 2]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
xor ecx, ecx
xor edx, edx
mov cx, word [eax + 8]
mov dx, word [eax + 0xa]
mov dword [esp + 0x2c], ecx
xor ecx, ecx
mov cx, word [eax + 0xc]
mov dword [esp + 0x30], edx
xor edx, edx
mov dword [esp + 0x34], ecx
mov dx, word [eax + 0xe]
xor ecx, ecx
mov cx, word [eax + 0x10]
mov dword [esp + 0x38], edx
xor edx, edx
mov dword [esp + 0x3c], ecx
mov dx, word [eax + 0x12]
lea edi, [eax + 0x14]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x40], edx
lea edx, [esp + 0x74]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [ebx + 0xa27bef]
and ecx, 3
cmp eax, 0xffffffff
rep movsb byte es:[edi], byte [esi]
jne 0x43aeff
mov ecx, dword [ebx + 0x5a6f04]
mov dword [ebx + 0xa27bef], ecx
lea edx, [esp + 0x74]
lea eax, [esp + 0x24]
push edx
push eax
push 0x30
jmp 0x43b400
mov esi, dword [esp + 0x47c]
xor eax, eax
xor ebp, ebp
mov ax, word [esi]
cmp eax, ebp
jle 0x43b052
cmp eax, 0x14
jg 0x43b052
dec eax
mov dword [esp + 0x14], 0xa
lea ecx, [eax + eax*8]
lea edx, [eax + ecx*4]
xor eax, eax
lea edx, [ebx + edx*2]
lea ecx, [edx + 0x7a1bcd]
mov word [edx + 0x7a1bbd], bp
mov word [edx + 0x7a1bcb], bp
mov word [edx + 0x7a1bc9], bp
mov word [edx + 0x7a1bc7], bp
mov word [edx + 0x7a1bc5], bp
mov word [edx + 0x7a1bc3], bp
mov word [edx + 0x7a1bc1], bp
mov word [edx + 0x7a1bbf], bp
mov dword [ecx], eax
lea edi, [edx + 0x7a1be7]
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
mov ecx, 8
mov word [edx + 0x7a1be1], bp
mov dword [edx + 0x7a1be3], ebp
rep stosd dword es:[edi], eax
mov ax, word [esi + 2]
mov word [edx + 0x7a1bbf], ax
mov cx, word [esi + 4]
mov word [edx + 0x7a1bc1], cx
mov ax, word [esi + 6]
mov word [edx + 0x7a1bc3], ax
mov cx, word [esi + 8]
mov word [edx + 0x7a1bc5], cx
mov ax, word [esi + 0xa]
mov word [edx + 0x7a1bc7], ax
mov cx, word [esi + 0xc]
mov word [edx + 0x7a1bc9], cx
mov ax, word [esi + 0xe]
mov word [edx + 0x7a1bcb], ax
lea eax, [esi + 0x10]
lea ecx, [edx + 0x7a1bcd]
mov di, word [eax]
add eax, 2
mov word [ecx], di
mov edi, dword [esp + 0x14]
add ecx, 2
dec edi
mov dword [esp + 0x14], edi
jne 0x43afff
lea edi, [esi + 0x24]
or ecx, 0xffffffff
xor eax, eax
lea esi, [edx + 0x7a1be7]
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x14], esi
mov eax, ecx
mov esi, edi
mov edi, dword [esp + 0x14]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
mov dword [edx + 0x7a1be3], ebp
mov dword [ebx + 0x7a2185], 1
mov ecx, dword [ebx + 0xa27bff]
lea edx, [esp + 0x74]
lea eax, [esp + 0x24]
push edx
mov byte [ebx + ecx + 0x5a71b4], 1
push eax
push 0x1011
mov ecx, ebx
call fcn.0043b420
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x464
ret 8
cmp eax, 0x2020
jg 0x43b2ea
je 0x43b21d
cmp eax, 0x1012
je 0x43b117
cmp eax, 0x2010
jne 0x43b40b
mov eax, dword [esp + 0x47c]
xor ecx, ecx
xor edx, edx
mov cx, word [eax]
mov dx, word [eax + 2]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
xor ecx, ecx
xor edx, edx
mov cx, word [eax + 4]
mov dx, word [eax + 6]
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], edx
xor ecx, ecx
xor edx, edx
mov cx, word [eax + 8]
mov dx, word [eax + 0xa]
mov eax, dword [ebx + 0xa27bef]
mov dword [esp + 0x34], ecx
cmp eax, 0xffffffff
mov dword [esp + 0x38], edx
jne 0x43b103
mov eax, dword [ebx + 0x5a6f04]
mov dword [ebx + 0xa27bef], eax
lea ecx, [esp + 0x74]
lea edx, [esp + 0x24]
push ecx
push edx
push 0x2010
jmp 0x43b400
mov esi, dword [esp + 0x47c]
xor eax, eax
xor ebp, ebp
mov ax, word [esi]
cmp eax, ebp
jle 0x43b1e8
cmp eax, 0x14
jg 0x43b1e8
dec eax
lea ecx, [eax + eax*8]
lea edx, [eax + ecx*4]
xor eax, eax
lea edx, [ebx + edx*2]
lea ecx, [edx + 0x7a1bcd]
mov word [edx + 0x7a1bbd], bp
mov word [edx + 0x7a1bcb], bp
mov word [edx + 0x7a1bc9], bp
mov word [edx + 0x7a1bc7], bp
mov word [edx + 0x7a1bc5], bp
mov word [edx + 0x7a1bc3], bp
mov word [edx + 0x7a1bc1], bp
mov word [edx + 0x7a1bbf], bp
mov dword [ecx], eax
lea edi, [edx + 0x7a1be7]
add edx, 0x7a1bcd
mov dword [ecx + 4], eax
mov dword [ecx + 8], eax
mov dword [ecx + 0xc], eax
mov dword [ecx + 0x10], eax
mov ecx, 8
mov word [edx + 0x14], bp
mov dword [edx + 0x16], ebp
rep stosd dword es:[edi], eax
mov eax, 1
mov word [edx - 0x10], ax
mov cx, word [esi + 2]
mov word [edx - 0xe], cx
mov cx, word [esi + 4]
mov word [edx - 0xc], cx
mov cx, word [esi + 6]
mov word [edx - 0xa], cx
mov cx, word [esi + 8]
mov word [edx - 8], cx
mov word [edx - 2], ax
mov eax, 0x640064
mov dword [edx], eax
mov dword [edx + 4], eax
mov dword [edx + 8], eax
mov dword [edx + 0xc], eax
mov dword [edx + 0x10], eax
mov ecx, dword [ebx + 0xa27bff]
lea edx, [esp + 0x74]
lea eax, [esp + 0x24]
push edx
mov byte [ebx + ecx + 0x5a71b4], 1
push eax
push 0x1012
mov ecx, ebx
call fcn.0043b420
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x464
ret 8
mov eax, dword [esp + 0x47c]
xor ecx, ecx
xor edx, edx
mov cx, word [eax]
mov dx, word [eax + 2]
mov dword [esp + 0x24], ecx
xor ecx, ecx
mov cx, word [eax + 4]
mov dword [esp + 0x28], edx
xor edx, edx
mov dword [esp + 0x2c], ecx
mov dx, word [eax + 6]
xor ecx, ecx
mov cx, word [eax + 8]
mov dword [esp + 0x30], edx
xor edx, edx
mov dword [esp + 0x34], ecx
mov dx, word [eax + 0xa]
xor ecx, ecx
mov cx, word [eax + 0xc]
mov dword [esp + 0x38], edx
xor edx, edx
mov dword [esp + 0x3c], ecx
mov dx, word [eax + 0xe]
xor ecx, ecx
mov cx, word [eax + 0x10]
mov dword [esp + 0x40], edx
xor edx, edx
mov dword [esp + 0x44], ecx
mov dx, word [eax + 0x12]
xor ecx, ecx
mov cx, word [eax + 0x14]
mov dword [esp + 0x48], edx
xor edx, edx
mov dword [esp + 0x4c], ecx
mov dx, word [eax + 0x16]
lea edi, [eax + 0x18]
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
mov dword [esp + 0x50], edx
lea edx, [esp + 0x74]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [ebx + 0xa27bef]
and ecx, 3
cmp eax, 0xffffffff
rep movsb byte es:[edi], byte [esi]
jne 0x43b2d6
mov ecx, dword [ebx + 0x5a6f04]
mov dword [ebx + 0xa27bef], ecx
lea edx, [esp + 0x74]
lea eax, [esp + 0x24]
push edx
push eax
push 0x2020
jmp 0x43b400
cmp eax, 0x2030
je 0x43b30f
cmp eax, 0x3010
jne 0x43b40b
mov ecx, dword [esp + 0x47c]
lea edx, [esp + 0x24]
push ecx
push edx
push eax
jmp 0x43b400
mov eax, dword [esp + 0x47c]
xor ecx, ecx
xor edx, edx
mov cx, word [eax]
mov dx, word [eax + 2]
mov dword [esp + 0x24], ecx
xor ecx, ecx
mov cx, word [eax + 4]
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], ecx
xor ecx, ecx
mov cx, word [eax + 8]
xor edx, edx
mov dx, word [eax + 6]
mov dword [esp + 0x34], ecx
xor ecx, ecx
mov dword [esp + 0x30], edx
mov cx, word [eax + 0xc]
xor edx, edx
mov dx, word [eax + 0xa]
mov dword [esp + 0x3c], ecx
xor ecx, ecx
mov dword [esp + 0x38], edx
mov cx, word [eax + 0x10]
xor edx, edx
mov dx, word [eax + 0xe]
mov dword [esp + 0x44], ecx
xor ecx, ecx
mov dword [esp + 0x40], edx
mov cx, word [eax + 0x14]
xor edx, edx
mov dx, word [eax + 0x12]
mov dword [esp + 0x4c], ecx
xor ecx, ecx
mov dword [esp + 0x48], edx
mov cx, word [eax + 0x18]
xor edx, edx
mov dx, word [eax + 0x16]
mov dword [esp + 0x54], ecx
lea edi, [eax + 0x1a]
or ecx, 0xffffffff
xor eax, eax
mov dword [esp + 0x50], edx
repne scasb al, byte es:[edi]
not ecx
sub edi, ecx
lea edx, [esp + 0x74]
mov eax, ecx
mov esi, edi
mov edi, edx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x74]
push ecx
lea ecx, [ebx + 0x5a6f20]
call fcn.0042e590
cmp eax, 0x64
mov dword [esp + 0x58], eax
jle 0x43b3dc
mov dword [esp + 0x58], 0x64
cmp dword [ebx + 0xa27bef], 0xffffffff
jne 0x43b3f1
mov edx, dword [ebx + 0x5a6f04]
mov dword [ebx + 0xa27bef], edx
lea eax, [esp + 0x74]
lea ecx, [esp + 0x24]
push eax
push ecx
push 0x2030
mov ecx, ebx
call fcn.0043b420
mov dword [esp + 0x10], eax
mov eax, dword [esp + 0x10]
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x464
ret 8