Function at 0x427700
Capabilities:
Resolve function by parsing pe exports

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0x48c
mov esi, eax
mov dword [esp + 0x74], edx
mov dword [esp + 0x7c], ecx
call fcn.0040fbd0
cmp al, 0x42
jne 0x427780
mov eax, esi
call fcn.0040fbd0
cmp al, 0x4d
jne 0x427780
mov eax, esi
call fcn.00410a80
mov eax, esi
call fcn.0040fbd0
mov eax, esi
call fcn.0040fbd0
mov eax, esi
call fcn.0040fbd0
mov eax, esi
call fcn.0040fbd0
mov eax, esi
call fcn.00410a80
mov dword [esp + 0x24], eax
mov eax, esi
call fcn.00410a80
mov dword [esp + 0x20], eax
cmp eax, 0xc
je 0x4278d6
mov edi, eax
and edi, 0xffffffef
cmp edi, 0x28
je 0x427799
cmp edi, 0x6c
je 0x427799
mov eax, str.unknown_BMP
jmp 0x427785
mov eax, str.not_BMP
mov dword [0x46f094], eax
xor ebp, ebp
mov eax, ebp
add esp, 0x48c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, esi
call fcn.00410a80
mov dword [esi], eax
mov eax, esi
call fcn.00410a80
mov dword [esi + 4], eax
mov eax, esi
call fcn.0040fbd0
mov bl, al
mov eax, esi
call fcn.0040fbd0
and eax, 0xff
shl eax, 8
and ebx, 0xff
add eax, ebx
dec eax
je 0x4277d6
mov eax, str.bad_BMP
jmp 0x427785
mov eax, esi
call fcn.0040fbd0
mov bl, al
mov eax, esi
call fcn.0040fbd0
and eax, 0xff
shl eax, 8
and ebx, 0xff
add eax, ebx
mov dword [esp + 0x10], eax
mov eax, esi
call fcn.00410a80
mov ebx, eax
lea eax, [eax - 1]
cmp eax, 1
jbe 0x4283af
mov eax, esi
call fcn.00410a80
mov eax, esi
call fcn.00410a80
mov eax, esi
call fcn.00410a80
mov eax, esi
call fcn.00410a80
mov eax, esi
call fcn.00410a80
mov eax, dword [esp + 0x20]
cmp eax, 0x28
je 0x4282cd
cmp eax, 0x38
je 0x4282b1
cmp edi, 0x6c
jne 0x4277cf
mov eax, esi
call fcn.00410a80
mov dword [esp + 0x3c], eax
mov eax, esi
call fcn.00410a80
mov dword [esp + 0x40], eax
mov eax, esi
call fcn.00410a80
mov dword [esp + 0x44], eax
mov eax, esi
call fcn.00410a80
mov dword [esp + 0x28], eax
mov eax, esi
call fcn.00410a80
mov ebx, 0xc
lea esi, [esi]
lea esi, [esi]
mov eax, esi
call fcn.00410a80
dec ebx
jne 0x427890
cmp dword [esp + 0x20], 0x7c
je 0x428477
mov eax, dword [esi + 4]
mov dword [esp + 0x78], eax
test eax, eax
jns 0x4278b2
neg eax
mov edi, eax
mov ecx, eax
cmp dword [esp + 0x10], 0xf
jle 0x428310
mov dword [esp + 0x18], 0xff
mov dword [esp + 0x1c], 0
jmp 0x427980
mov eax, esi
call fcn.00410950
mov dword [esi], eax
mov eax, esi
call fcn.00410950
mov dword [esi + 4], eax
mov eax, esi
call fcn.0040fbd0
mov bl, al
mov eax, esi
call fcn.0040fbd0
and eax, 0xff
shl eax, 8
and ebx, 0xff
add eax, ebx
dec eax
jne 0x4277cf
mov eax, esi
call fcn.0040fbd0
mov bl, al
mov eax, esi
call fcn.0040fbd0
and eax, 0xff
shl eax, 8
and ebx, 0xff
add eax, ebx
mov dword [esp + 0x10], eax
mov eax, dword [esi + 4]
mov dword [esp + 0x78], eax
test eax, eax
jns 0x427941
neg eax
mov edi, eax
mov ecx, eax
cmp dword [esp + 0x10], 0x17
jle 0x42810b
mov dword [esp + 0x3c], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x18], 0xff
mov dword [esp + 0x28], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x1c], 0
mov dword [esi + 4], ecx
cmp dword [esp + 0x28], 1
sbb eax, eax
add eax, 4
mov dword [esi + 8], eax
mov ebx, dword [esi]
mov dword [esp], 0
mov ecx, edi
mov edx, ebx
mov eax, 4
call fcn.0040fb40
test eax, eax
je 0x427c90
mov dword [esp], 0
mov ecx, edi
mov edx, ebx
mov eax, 4
call fcn.00411940
mov ebp, eax
test eax, eax
je 0x4282a7
cmp dword [esp + 0x10], 0xf
jg 0x427ca0
mov eax, dword [esp + 0x1c]
test eax, eax
je 0x428223
cmp eax, 0x100
jg 0x428223
test eax, eax
jle 0x427a4c
lea ebx, [esp + 0x80]
mov eax, dword [esp + 0x1c]
lea edi, [esp + eax*4 + 0x80]
mov dword [esp + 0x14], esi
mov esi, dword [esp + 0x20]
nop
mov eax, dword [esp + 0x14]
call fcn.0040fbd0
mov byte [ebx + 2], al
mov eax, dword [esp + 0x14]
call fcn.0040fbd0
mov byte [ebx + 1], al
mov eax, dword [esp + 0x14]
call fcn.0040fbd0
mov byte [ebx], al
cmp esi, 0xc
je 0x427a41
mov eax, dword [esp + 0x14]
call fcn.0040fbd0
add ebx, 4
cmp edi, ebx
jne 0x427a10
mov esi, dword [esp + 0x14]
mov edx, dword [esp + 0x24]
sub edx, 0xe
mov eax, dword [esp + 0x20]
sub edx, eax
cmp eax, 0xc
setne al
and eax, 0xff
add eax, 3
mov edi, dword [esp + 0x1c]
imul edi, eax
sub edx, edi
mov eax, esi
call fcn.00410170
cmp dword [esp + 0x10], 1
je 0x42814f
cmp dword [esp + 0x10], 4
je 0x428292
cmp dword [esp + 0x10], 8
jne 0x42839d
mov edx, dword [esi]
mov eax, edx
neg eax
and eax, 3
mov dword [esp + 0x20], eax
mov eax, dword [esi + 4]
test eax, eax
jle 0x427bc7
xor edi, edi
mov dword [esp + 0x14], 0
mov dword [esp + 0x1c], ebp
nop
test edx, edx
jle 0x427b87
mov eax, dword [esp + 0x1c]
lea ebx, [eax + edi]
xor ebp, ebp
jmp 0x427b44
mov al, byte [esp + ecx*4 + 0x80]
mov byte [ebx], al
mov al, byte [esp + ecx*4 + 0x81]
mov byte [ebx + 1], al
mov al, byte [esp + ecx*4 + 0x82]
mov byte [ebx + 2], al
mov byte [ebx + 3], 0xff
lea eax, [ebp + 1]
cmp dword [esi], eax
je 0x427b84
cmp dword [esp + 0x10], 8
je 0x427bb0
xor eax, eax
mov dl, byte [esp + eax*4 + 0x80]
mov byte [ebx + 4], dl
mov dl, byte [esp + eax*4 + 0x81]
mov byte [ebx + 5], dl
mov al, byte [esp + eax*4 + 0x82]
mov byte [ebx + 6], al
add edi, 8
mov byte [ebx + 7], 0xff
add ebp, 2
add ebx, 8
cmp ebp, dword [esi]
jge 0x427b87
mov eax, esi
call fcn.0040fbd0
xor ecx, ecx
mov cl, al
cmp dword [esp + 0x10], 4
jne 0x427ae0
and eax, 0xf
sar ecx, 4
mov dl, byte [esp + ecx*4 + 0x80]
mov byte [ebx], dl
mov dl, byte [esp + ecx*4 + 0x81]
mov byte [ebx + 1], dl
mov dl, byte [esp + ecx*4 + 0x82]
mov byte [ebx + 2], dl
mov byte [ebx + 3], 0xff
lea ecx, [ebp + 1]
cmp ecx, dword [esi]
jne 0x427b15
add edi, 4
mov edx, dword [esp + 0x20]
mov eax, esi
call fcn.00410170
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp eax, dword [esi + 4]
jge 0x427bc1
mov edx, dword [esi]
jmp 0x427ac0
mov eax, esi
call fcn.0040fbd0
and eax, 0xff
jmp 0x427b15
mov ebp, dword [esp + 0x1c]
mov edx, dword [esi]
mov ecx, dword [esp + 0x18]
test ecx, ecx
jne 0x427bec
mov eax, dword [esi + 4]
imul eax, edx
lea eax, [eax*4 - 1]
test eax, eax
js 0x427bec
mov byte [ebp + eax], 0xff
sub eax, 4
jns 0x427be0
mov edx, dword [esi]
mov eax, dword [esp + 0x78]
test eax, eax
jle 0x427c5a
mov eax, dword [esi + 4]
cmp eax, 1
jle 0x427c5a
xor edi, edi
lea ecx, [edx*4]
mov dword [esp + 0x10], ebp
mov ebp, edi
lea esi, [esi]
nop
mov edi, ecx
imul edi, ebp
lea ebx, [eax - 1]
sub ebx, ebp
imul ebx, ecx
test edx, edx
jle 0x427c4d
xor eax, eax
mov ecx, dword [esp + 0x10]
add edi, ecx
add ebx, ecx
lea esi, [esi]
nop
mov dl, byte [edi + eax]
mov cl, byte [ebx + eax]
mov byte [edi + eax], cl
mov byte [ebx + eax], dl
inc eax
mov edx, dword [esi]
lea ecx, [edx*4]
cmp eax, ecx
jl 0x427c30
mov eax, dword [esi + 4]
inc ebp
mov ebx, eax
sar ebx, 1
cmp ebp, ebx
jl 0x427c10
mov ebp, dword [esp + 0x10]
mov eax, dword [esp + 0x74]
mov dword [eax], edx
mov eax, dword [esi + 4]
mov edi, dword [esp + 0x7c]
mov dword [edi], eax
mov edx, dword [esi + 8]
mov eax, dword [esp + 0x4a0]
mov dword [eax], edx
mov eax, ebp
add esp, 0x48c
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, str.too_large
jmp 0x427785
mov edx, dword [esp + 0x24]
sub edx, 0xe
mov eax, dword [esp + 0x20]
sub edx, eax
mov eax, esi
call fcn.00410170
cmp dword [esp + 0x10], 0x18
je 0x428235
cmp dword [esp + 0x10], 0x10
je 0x42838b
cmp dword [esp + 0x10], 0x20
je 0x428356
mov dword [esp + 0x70], 0
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x428344
mov eax, dword [esp + 0x40]
test eax, eax
je 0x428344
mov eax, dword [esp + 0x44]
test eax, eax
je 0x428344
mov edi, dword [esp + 0x3c]
mov eax, edi
call fcn.004110c0
sub eax, 7
mov dword [esp + 0x1c], eax
mov eax, edi
shr eax, 1
and eax, 0x55555555
and edi, 0x55555555
add eax, edi
mov edx, eax
and edx, 0x33333333
shr eax, 2
and eax, 0x33333333
add edx, eax
mov eax, edx
shr eax, 4
add eax, edx
and eax, 0xf0f0f0f
mov edx, eax
shr edx, 8
add eax, edx
mov edx, eax
shr edx, 0x10
add eax, edx
and eax, 0xff
mov dword [esp + 0x30], eax
mov edi, dword [esp + 0x40]
mov eax, edi
call fcn.004110c0
sub eax, 7
mov dword [esp + 0x20], eax
mov eax, edi
shr eax, 1
and eax, 0x55555555
and edi, 0x55555555
add eax, edi
mov edx, eax
and edx, 0x33333333
shr eax, 2
and eax, 0x33333333
add edx, eax
mov eax, edx
shr eax, 4
add eax, edx
and eax, 0xf0f0f0f
mov edx, eax
shr edx, 8
add eax, edx
mov edx, eax
shr edx, 0x10
add eax, edx
and eax, 0xff
mov dword [esp + 0x34], eax
mov edi, dword [esp + 0x44]
mov eax, edi
call fcn.004110c0
sub eax, 7
mov dword [esp + 0x24], eax
mov eax, edi
shr eax, 1
and eax, 0x55555555
and edi, 0x55555555
add eax, edi
mov edx, eax
and edx, 0x33333333
shr eax, 2
and eax, 0x33333333
add edx, eax
mov eax, edx
shr eax, 4
add eax, edx
and eax, 0xf0f0f0f
mov edx, eax
shr edx, 8
add eax, edx
mov edx, eax
shr edx, 0x10
add eax, edx
and eax, 0xff
mov dword [esp + 0x38], eax
mov edi, dword [esp + 0x28]
mov eax, edi
call fcn.004110c0
sub eax, 7
mov dword [esp + 0x60], eax
mov eax, edi
shr eax, 1
and eax, 0x55555555
and edi, 0x55555555
add eax, edi
mov edx, eax
and edx, 0x33333333
shr eax, 2
and eax, 0x33333333
add edx, eax
mov eax, edx
shr eax, 4
add eax, edx
and eax, 0xf0f0f0f
mov edx, eax
shr edx, 8
add eax, edx
mov edx, eax
shr edx, 0x10
add eax, edx
and eax, 0xff
mov dword [esp + 0x68], eax
mov edx, dword [esi]
mov dword [esp + 0x2c], 0
mov edi, dword [esi + 4]
test edi, edi
jle 0x427bc7
xor edi, edi
mov dword [esp + 0x64], 0
mov ebx, dword [esp + 0x2c]
test ebx, ebx
jne 0x42809c
lea esi, [esi]
test edx, edx
jle 0x428072
mov eax, 8
mov ebx, eax
mov ecx, dword [esp + 0x38]
sub ebx, ecx
mov dword [esp + 0x48], ebx
mov ebx, eax
mov edx, dword [esp + 0x34]
sub ebx, edx
mov dword [esp + 0x4c], ebx
mov ebx, eax
mov edx, dword [esp + 0x30]
sub ebx, edx
mov dword [esp + 0x50], ebx
xor edx, edx
mov ebx, dword [esp + 0x30]
mov ebx, dword [ebx*4 + 0x46a540]
mov dword [esp + 0x54], ebx
mov ebx, dword [esp + 0x34]
mov ebx, dword [ebx*4 + 0x46a540]
mov dword [esp + 0x58], ebx
mov ebx, dword [ecx*4 + 0x46a540]
mov dword [esp + 0x5c], ebx
mov ebx, dword [esp + 0x68]
sub eax, ebx
mov dword [esp + 0x6c], eax
mov dword [esp + 0x14], esi
mov esi, edx
jmp 0x427f49
and ebx, eax
mov eax, dword [esp + 0x60]
test eax, eax
js 0x428100
mov cl, byte [esp + 0x60]
shr ebx, cl
mov cl, byte [esp + 0x6c]
shr ebx, cl
mov eax, dword [esp + 0x68]
imul ebx, dword [eax*4 + 0x46a580]
mov ecx, dword [eax*4 + 0x46a540]
sar ebx, cl
mov al, bl
or dword [esp + 0x18], ebx
add edi, 4
mov byte [ebp + edi - 1], al
inc esi
mov eax, dword [esp + 0x14]
cmp esi, dword [eax]
jge 0x428070
mov eax, dword [esp + 0x14]
cmp dword [esp + 0x10], 0x10
je 0x428040
call fcn.00410a80
mov ebx, eax
mov eax, dword [esp + 0x3c]
and eax, ebx
mov edx, dword [esp + 0x1c]
test edx, edx
js 0x428030
mov cl, byte [esp + 0x1c]
shr eax, cl
mov cl, byte [esp + 0x50]
shr eax, cl
mov edx, dword [esp + 0x30]
imul eax, dword [edx*4 + 0x46a580]
mov cl, byte [esp + 0x54]
sar eax, cl
mov byte [ebp + edi], al
mov eax, dword [esp + 0x40]
and eax, ebx
mov edx, dword [esp + 0x20]
test edx, edx
js 0x428020
mov cl, byte [esp + 0x20]
shr eax, cl
mov cl, byte [esp + 0x4c]
shr eax, cl
mov edx, dword [esp + 0x34]
imul eax, dword [edx*4 + 0x46a580]
mov cl, byte [esp + 0x58]
sar eax, cl
mov byte [ebp + edi + 1], al
mov eax, dword [esp + 0x44]
and eax, ebx
mov ecx, dword [esp + 0x24]
test ecx, ecx
js 0x428010
mov cl, byte [esp + 0x24]
shr eax, cl
mov cl, byte [esp + 0x48]
shr eax, cl
mov edx, dword [esp + 0x38]
imul eax, dword [edx*4 + 0x46a580]
mov cl, byte [esp + 0x5c]
sar eax, cl
mov byte [ebp + edi + 2], al
mov eax, dword [esp + 0x28]
test eax, eax
jne 0x427f00
mov al, 0xff
mov ebx, 0xff
jmp 0x427f31
neg ecx
shl eax, cl
jmp 0x427fd7
mov ecx, edx
neg ecx
shl eax, cl
jmp 0x427fa7
neg edx
mov ecx, edx
shl eax, cl
jmp 0x427f77
call fcn.0040fbd0
mov bl, al
mov eax, dword [esp + 0x14]
call fcn.0040fbd0
and eax, 0xff
shl eax, 8
and ebx, 0xff
add ebx, eax
jmp 0x427f5f
mov esi, eax
mov edx, dword [esp + 0x70]
mov eax, esi
call fcn.00410170
inc dword [esp + 0x64]
mov eax, dword [esp + 0x64]
cmp eax, dword [esi + 4]
mov edx, dword [esi]
jge 0x427bc7
mov ebx, dword [esp + 0x2c]
test ebx, ebx
je 0x427e90
test edx, edx
jle 0x428072
xor ebx, ebx
jmp 0x4280c7
mov edx, 0xff
mov al, 0xff
or dword [esp + 0x18], edx
add edi, 4
mov byte [ebp + edi - 1], al
inc ebx
cmp ebx, dword [esi]
jge 0x428072
mov eax, esi
call fcn.0040fbd0
mov byte [ebp + edi + 2], al
mov eax, esi
call fcn.0040fbd0
mov byte [ebp + edi + 1], al
mov eax, esi
call fcn.0040fbd0
mov byte [ebp + edi], al
cmp dword [esp + 0x2c], 2
jne 0x4280b0
mov eax, esi
call fcn.0040fbd0
xor edx, edx
mov dl, al
jmp 0x4280b7
neg eax
mov ecx, eax
shl ebx, cl
jmp 0x427f14
mov eax, dword [esp + 0x24]
lea ebx, [eax - 0x26]
mov eax, 0x55555556
imul ebx
sar ebx, 0x1f
sub edx, ebx
mov dword [esp + 0x1c], edx
mov dword [esp + 0x3c], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x18], 0xff
mov dword [esp + 0x28], 0
mov dword [esp + 0x40], 0
jmp 0x427980
mov edx, dword [esi]
lea eax, [edx + 7]
shr eax, 3
neg eax
and eax, 3
mov dword [esp + 0x1c], eax
mov eax, dword [esi + 4]
test eax, eax
jle 0x427bc7
xor ebx, ebx
mov dword [esp + 0x14], 0
lea esi, [esi]
lea esi, [esi]
mov eax, esi
call fcn.0040fbd0
xor edx, edx
mov dl, al
mov edi, dword [esi]
test edi, edi
jle 0x428200
xor edi, edi
mov ecx, 7
mov dword [esp + 0x10], edx
jmp 0x4281a4
cmp edi, eax
jge 0x428200
mov eax, dword [esp + 0x10]
sar eax, cl
and eax, 1
mov dl, byte [esp + eax*4 + 0x80]
mov byte [ebp + ebx], dl
mov dl, byte [esp + eax*4 + 0x81]
mov byte [ebp + ebx + 1], dl
mov al, byte [esp + eax*4 + 0x82]
mov byte [ebp + ebx + 2], al
add ebx, 4
mov byte [ebp + ebx - 1], 0xff
inc edi
mov eax, dword [esi]
cmp edi, eax
je 0x428200
sub ecx, 1
jae 0x4281a0
mov eax, esi
call fcn.0040fbd0
mov dl, al
and edx, 0xff
mov dword [esp + 0x10], edx
mov eax, dword [esi]
mov ecx, 7
cmp edi, eax
jl 0x4281a4
mov edx, dword [esp + 0x1c]
mov eax, esi
call fcn.00410170
inc dword [esp + 0x14]
mov eax, dword [esp + 0x14]
cmp eax, dword [esi + 4]
jl 0x428180
mov edx, dword [esi]
jmp 0x427bc7
mov dword [esp], ebp
call sub.msvcrt.dll_free
mov eax, str.invalid
jmp 0x427785
mov edx, dword [esi]
lea eax, [edx + edx]
add eax, edx
neg eax
and eax, 3
mov dword [esp + 0x70], eax
mov dword [esp + 0x2c], 1
mov dword [esp + 0x68], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x60], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x20], 0
mov dword [esp + 0x1c], 0
jmp 0x427e6b
mov edx, dword [esi]
lea eax, [edx + 1]
shr eax, 1
neg eax
and eax, 3
mov dword [esp + 0x20], eax
jmp 0x427aa5
mov eax, str.outofmem
jmp 0x427785
mov eax, esi
call fcn.00410a80
mov eax, esi
call fcn.00410a80
mov eax, esi
call fcn.00410a80
mov eax, esi
call fcn.00410a80
cmp dword [esp + 0x10], 0x10
je 0x4283b9
cmp dword [esp + 0x10], 0x20
je 0x428446
mov dword [esp + 0x28], 0
mov dword [esp + 0x44], 0
mov dword [esp + 0x40], 0
mov dword [esp + 0x3c], 0
jmp 0x4278a5
mov eax, dword [esp + 0x24]
sub eax, 0xe
mov ebx, dword [esp + 0x20]
sub eax, ebx
sar eax, 2
mov dword [esp + 0x1c], eax
mov dword [esp + 0x18], 0xff
jmp 0x427980
mov eax, dword [esp + 0x3c]
cmp eax, 0xff0000
je 0x428498
test eax, eax
jne 0x42837e
mov dword [esp], ebp
call sub.msvcrt.dll_free
mov eax, str.bad_masks
jmp 0x427785
cmp dword [esp + 0x44], 0xff
jne 0x427cd5
cmp dword [esp + 0x40], 0xff00
je 0x428331
mov eax, dword [esp + 0x3c]
test eax, eax
je 0x428344
mov eax, dword [esp + 0x40]
test eax, eax
je 0x428344
mov dword [esp + 0x70], 0
jmp 0x427d01
mov eax, dword [esi]
add eax, eax
neg eax
and eax, 3
mov dword [esp + 0x70], eax
jmp 0x427cdd
mov dword [esp], ebp
call sub.msvcrt.dll_free
mov eax, str.bad_bpp
jmp 0x427785
mov eax, str.BMP_RLE
jmp 0x427785
test ebx, ebx
jne 0x428403
mov dword [esp + 0x18], 0xff
mov dword [esp + 0x28], 0
mov dword [esp + 0x44], 0x1f
mov dword [esp + 0x40], 0x3e0
mov dword [esp + 0x3c], 0x7c00
mov eax, dword [esi + 4]
mov dword [esp + 0x78], eax
test eax, eax
jns 0x4283f2
neg eax
mov edi, eax
mov ecx, eax
mov dword [esp + 0x1c], 0
jmp 0x427980
cmp ebx, 3
jne 0x4277cf
mov eax, esi
call fcn.00410a80
mov edi, eax
mov dword [esp + 0x3c], eax
mov eax, esi
call fcn.00410a80
mov ebx, eax
mov dword [esp + 0x40], eax
mov eax, esi
call fcn.00410a80
mov dword [esp + 0x44], eax
cmp edi, ebx
je 0x4284bb
mov dword [esp + 0x28], 0
jmp 0x4278a5
test ebx, ebx
jne 0x428403
mov dword [esp + 0x18], 0
mov dword [esp + 0x28], 0xff000000
mov dword [esp + 0x44], 0xff
mov dword [esp + 0x40], 0xff00
mov dword [esp + 0x3c], 0xff0000
jmp 0x4283e5
mov eax, esi
call fcn.00410a80
mov eax, esi
call fcn.00410a80
mov eax, esi
call fcn.00410a80
mov eax, esi
call fcn.00410a80
jmp 0x4278a5
cmp dword [esp + 0x28], 0xff000000
jne 0x42837e
mov edx, dword [esi]
xor ecx, ecx
mov dword [esp + 0x70], ecx
mov dword [esp + 0x2c], 2
jmp 0x42824d
cmp dword [esp + 0x3c], eax
jne 0x428439
jmp 0x4277cf