Function at 0x4127f0
Capabilities:
Enumerate pe sections

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x43b208
push eax
mov dword fs:[0], esp
sub esp, 0x54
xor eax, eax
lea edx, [esp + 0x38]
push ebx
push ebp
push esi
push edi
mov edi, dword [esp + 0x74]
mov ebp, ecx
xor ecx, ecx
push 4
mov ax, word [edi + 6]
mov cx, word [edi + 4]
imul eax, ecx
mov ebx, dword [ebp + 0x4474]
push edx
mov ecx, ebp
imul ebx, eax
call fcn.0040b880
mov eax, dword [esp + 0x48]
mov esi, eax
mov ecx, eax
mov edx, eax
and esi, 0xff0000
shr ecx, 0x10
and edx, 0xff00
or esi, ecx
shl eax, 0x10
or edx, eax
mov ecx, ebp
shr esi, 8
shl edx, 8
or esi, edx
push esi
call fcn.0040bb90
mov eax, dword [ebp + 0x1c4]
push esi
push eax
mov ecx, ebp
call fcn.0040b880
push ebx
mov ecx, ebp
call fcn.0040bc60
mov ecx, dword [ebp + 0x1c4]
mov edx, dword [ebp + 0x274]
lea eax, [ebp + 0x280]
mov dword [ebp + 0x290], ebx
xor ebx, ebx
mov dword [ebp + 0x284], esi
mov dword [eax], ecx
mov cl, byte [ebp + 0x27c]
cmp cl, bl
mov dword [ebp + 0x28c], edx
mov dword [ebp + 0x2ac], ebx
jne 0x412909
push 0x38
push str.1.1.4
push eax
mov dword [ebp + 0x288], ebx
mov dword [ebp + 0x294], ebx
mov dword [ebp + 0x2a0], ebx
mov dword [ebp + 0x2a4], ebx
mov dword [ebp + 0x2a8], ebx
call fcn.00422040
add esp, 0xc
cmp eax, ebx
je 0x412902
push eax
push str.zlib_inflateInit_error:__d_n
push ebx
push 0x44a3a0
call fcn.004063e0
add esp, 0x10
jmp 0x412e70
mov byte [ebp + 0x27c], 1
lea eax, [ebp + 0x280]
push 2
push eax
call fcn.00422060
add esp, 8
cmp eax, ebx
jge 0x412937
push eax
push str.zlib_inflate_error:__d_n
push ebx
push 0x44a3a0
call fcn.004063e0
add esp, 0x10
jmp 0x412e70
mov al, byte [ebp + 0x4422]
mov cx, word [ebp + 0x441c]
mov dl, byte [ebp + 0x4423]
mov byte [esp + 0x38], al
mov ax, word [ebp + 0x441e]
mov word [esp + 0x3c], cx
mov cl, byte [ebp + 0x4424]
mov word [esp + 0x34], ax
mov byte [esp + 0x30], dl
mov dx, word [ebp + 0x4420]
lea eax, [ebp + 0x1e4]
mov byte [esp + 0x28], cl
push eax
lea ecx, [esp + 0x48]
mov word [esp + 0x30], dx
call fcn.00408cb0
mov ecx, dword [ebp + 0x3a1c]
mov edx, dword [ebp + 0x3a20]
push ecx
push edx
lea ecx, [esp + 0x64]
mov dword [esp + 0x74], ebx
call fcn.00408d20
mov eax, dword [ebp + 0x3a24]
mov ecx, dword [ebp + 0x3a20]
push eax
push ecx
lea ecx, [esp + 0x5c]
mov byte [esp + 0x74], 1
call fcn.00408d60
xor eax, eax
mov byte [esp + 0x6c], 2
mov al, byte [ebp + 0x4418]
lea ecx, [eax - 8]
cmp ecx, 0x18
ja case.0x4129e1.11
xor edx, edx
mov dl, byte [ecx + 0x412e98]
jmp dword [edx*4 + 0x412e88]
mov eax, dword [ebp + 0x274]
xor ecx, ecx
mov cx, word [edi + 6]
mov dword [esp + 0x20], eax
xor eax, eax
mov ax, word [edi + 2]
add ecx, eax
mov dword [esp + 0x24], eax
cmp eax, ecx
jge 0x412e44
xor ecx, ecx
xor edx, edx
mov cx, word [edi]
mov dx, word [edi + 4]
add edx, ecx
mov dword [esp + 0x40], ecx
cmp ecx, edx
jge 0x412b3b
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x34]
and edx, 0xff
and ecx, 0xff
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x38]
and edx, 0xff
and eax, 0xffff
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x3c]
and ebx, 0xffff
and edx, 0xffff
mov dword [esp + 0x10], ecx
mov dword [esp + 0x74], eax
mov dword [esp + 0x1c], edx
jmp 0x412a7e
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x20]
mov dl, byte [edx]
mov byte [esp + 0x4c], dl
mov esi, dword [esp + 0x4c]
and esi, 0xff
mov edx, esi
shr edx, cl
mov ecx, dword [esp + 0x14]
and edx, eax
mov eax, edx
shl eax, 8
sub eax, edx
cdq
idiv dword [esp + 0x74]
mov edx, esi
shr edx, cl
mov ecx, dword [esp + 0x18]
shr esi, cl
mov ecx, dword [esp + 0x1c]
and edx, ebx
and esi, ecx
and eax, 0xff
or ah, 2
shl eax, 8
mov dword [esp + 0x50], eax
mov eax, edx
shl eax, 8
sub eax, edx
cdq
idiv ebx
mov edx, dword [esp + 0x50]
and eax, 0xff
or edx, eax
mov eax, esi
shl eax, 8
shl edx, 8
sub eax, esi
mov dword [esp + 0x50], edx
cdq
idiv ecx
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x24]
mov esi, dword [esp + 0x40]
and eax, 0xff
or ecx, eax
mov eax, dword [ebp + 0x3a20]
push ecx
push edx
push esi
push eax
call dword [sym.imp.GDI32.dll_SetPixelV]
mov edx, dword [esp + 0x20]
xor ecx, ecx
mov cx, word [edi]
inc edx
mov dword [esp + 0x20], edx
xor edx, edx
mov dx, word [edi + 4]
inc esi
add ecx, edx
mov dword [esp + 0x40], esi
cmp esi, ecx
jl 0x412a76
mov eax, dword [esp + 0x24]
xor ebx, ebx
xor ecx, ecx
xor edx, edx
mov cx, word [edi + 6]
mov dx, word [edi + 2]
inc eax
add ecx, edx
cmp eax, ecx
mov dword [esp + 0x24], eax
jl 0x412a0c
jmp 0x412e44
mov eax, dword [ebp + 0x274]
xor ecx, ecx
mov cx, word [edi + 6]
mov dword [esp + 0x24], eax
xor eax, eax
mov ax, word [edi + 2]
add ecx, eax
mov dword [esp + 0x20], eax
cmp eax, ecx
jge 0x412e44
xor ecx, ecx
xor edx, edx
mov cx, word [edi]
mov dx, word [edi + 4]
add edx, ecx
mov dword [esp + 0x40], ecx
cmp ecx, edx
jge 0x412ca9
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x34]
and edx, 0xff
and ecx, 0xff
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x38]
and edx, 0xff
and eax, 0xffff
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x3c]
and ebx, 0xffff
and edx, 0xffff
mov dword [esp + 0x10], ecx
mov dword [esp + 0x74], eax
mov dword [esp + 0x1c], edx
jmp 0x412bf1
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x24]
mov si, word [edx]
and esi, 0xffff
mov edx, esi
shr edx, cl
mov ecx, dword [esp + 0x14]
and edx, eax
mov eax, edx
shl eax, 8
sub eax, edx
cdq
idiv dword [esp + 0x74]
mov edx, esi
shr edx, cl
mov ecx, dword [esp + 0x18]
shr esi, cl
mov ecx, dword [esp + 0x1c]
and edx, ebx
and esi, ecx
and eax, 0xff
or ah, 2
shl eax, 8
mov dword [esp + 0x50], eax
mov eax, edx
shl eax, 8
sub eax, edx
cdq
idiv ebx
mov edx, dword [esp + 0x50]
and eax, 0xff
or edx, eax
mov eax, esi
shl eax, 8
shl edx, 8
sub eax, esi
mov dword [esp + 0x50], edx
cdq
idiv ecx
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x20]
mov esi, dword [esp + 0x40]
and eax, 0xff
or ecx, eax
mov eax, dword [ebp + 0x3a20]
push ecx
push edx
push esi
push eax
call dword [sym.imp.GDI32.dll_SetPixelV]
mov edx, dword [esp + 0x24]
xor ecx, ecx
mov cx, word [edi]
add edx, 2
mov dword [esp + 0x24], edx
xor edx, edx
mov dx, word [edi + 4]
inc esi
add ecx, edx
mov dword [esp + 0x40], esi
cmp esi, ecx
jl 0x412be9
mov eax, dword [esp + 0x20]
xor ebx, ebx
xor ecx, ecx
xor edx, edx
mov cx, word [edi + 6]
mov dx, word [edi + 2]
inc eax
add ecx, edx
cmp eax, ecx
mov dword [esp + 0x20], eax
jl 0x412b7f
jmp 0x412e44
mov eax, dword [ebp + 0x274]
xor ecx, ecx
mov cx, word [edi + 6]
mov dword [esp + 0x24], eax
xor eax, eax
mov ax, word [edi + 2]
add ecx, eax
mov dword [esp + 0x20], eax
cmp eax, ecx
jge 0x412e44
xor ecx, ecx
xor edx, edx
mov cx, word [edi]
mov dx, word [edi + 4]
add edx, ecx
mov dword [esp + 0x40], ecx
cmp ecx, edx
jge 0x412e13
mov edx, dword [esp + 0x30]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
mov ebx, dword [esp + 0x34]
and edx, 0xff
and ecx, 0xff
mov dword [esp + 0x14], edx
mov edx, dword [esp + 0x38]
and edx, 0xff
and eax, 0xffff
mov dword [esp + 0x18], edx
mov edx, dword [esp + 0x3c]
and ebx, 0xffff
and edx, 0xffff
mov dword [esp + 0x10], ecx
mov dword [esp + 0x74], eax
mov dword [esp + 0x1c], edx
jmp 0x412d5f
mov ecx, dword [esp + 0x10]
mov eax, dword [esp + 0x74]
mov edx, dword [esp + 0x24]
mov esi, dword [edx]
mov edx, esi
shr edx, cl
mov ecx, dword [esp + 0x14]
and edx, eax
mov eax, edx
shl eax, 8
sub eax, edx
xor edx, edx
div dword [esp + 0x74]
mov edx, esi
shr edx, cl
mov ecx, dword [esp + 0x18]
shr esi, cl
mov ecx, dword [esp + 0x1c]
and edx, ebx
and esi, ecx
and eax, 0xff
or ah, 2
shl eax, 8
mov dword [esp + 0x50], eax
mov eax, edx
shl eax, 8
sub eax, edx
xor edx, edx
div ebx
mov edx, dword [esp + 0x50]
and eax, 0xff
or edx, eax
mov eax, esi
shl edx, 8
shl eax, 8
mov dword [esp + 0x50], edx
sub eax, esi
xor edx, edx
mov esi, dword [esp + 0x40]
div ecx
mov ecx, dword [esp + 0x50]
mov edx, dword [esp + 0x20]
and eax, 0xff
or ecx, eax
mov eax, dword [ebp + 0x3a20]
push ecx
push edx
push esi
push eax
call dword [sym.imp.GDI32.dll_SetPixelV]
mov edx, dword [esp + 0x24]
xor ecx, ecx
mov cx, word [edi]
add edx, 4
mov dword [esp + 0x24], edx
xor edx, edx
mov dx, word [edi + 4]
inc esi
add ecx, edx
mov dword [esp + 0x40], esi
cmp esi, ecx
jl 0x412d57
mov eax, dword [esp + 0x20]
xor ebx, ebx
xor ecx, ecx
xor edx, edx
mov cx, word [edi + 6]
mov dx, word [edi + 2]
inc eax
add ecx, edx
cmp eax, ecx
mov dword [esp + 0x20], eax
jl 0x412ced
jmp 0x412e44
push eax
push str.Invalid_number_of_bits_per_pixel:__d_n
push ebx
push 0x44a3a0
call fcn.004063e0
add esp, 0x10
lea ecx, [esp + 0x54]
mov byte [esp + 0x6c], 1
call fcn.00408d90
lea ecx, [esp + 0x5c]
mov byte [esp + 0x6c], bl
call fcn.00408d40
lea ecx, [esp + 0x44]
mov dword [esp + 0x6c], 0xffffffff
call fcn.00408cd0
mov ecx, dword [esp + 0x64]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x60
ret 4