Function at 0x10041130
Capabilities:
Enumerate pe sections

Disassembly:
sub esp, 0x44
push ebx
push ebp
mov ebp, dword [esp + 0x80]
push esi
push edi
push ebp
call fcn.10032b80
cmp eax, 8
ja 0x10041286
mov eax, dword [esp + 0x58]
push eax
call fcn.100ab1e0
cmp eax, 1
jne 0x10041286
push ebp
call fcn.10032c00
push eax
mov ecx, dword [esp + 0x60]
push ecx
call fcn.100a0c80
mov esi, eax
test esi, esi
mov dword [esp + 0x6c], esi
jne 0x100411a2
push 1
push 0x64
push 0xfffffc18
push 0x25c
push str.C:_accusoftgear_sourceDISPLAYdisplay.c
call fcn.10046940
call fcn.10046b40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret 0x40
push ebp
call fcn.10032b20
mov edi, eax
push ebp
mov dword [esp + 0x74], edi
call fcn.10032c00
push eax
push edi
push esi
call fcn.100a98d0
push ebp
xor ebx, ebx
call fcn.10032c50
test eax, eax
jbe 0x10041213
mov edx, dword [esp + 0x70]
mov edi, dword [esp + 0x8c]
lea esi, [edx + 1]
mov al, byte [edi + 2]
mov cl, byte [esi + 1]
cmp al, cl
jne 0x100411fd
mov cl, byte [edi + 1]
mov al, byte [esi]
cmp cl, al
jne 0x100411fd
mov dl, byte [edi]
mov al, byte [esi - 1]
cmp dl, al
jne 0x100411fd
mov byte [esi + 1], 0xff
mov byte [esi], 0xff
mov byte [esi - 1], 0xff
push ebp
inc ebx
add esi, 4
call fcn.10032c50
cmp ebx, eax
jb 0x100411d6
mov edi, dword [esp + 0x70]
mov esi, dword [esp + 0x6c]
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x84]
push eax
mov eax, dword [esp + 0x84]
push ecx
mov ecx, dword [esp + 0x84]
push 0xcc0020
push ebp
push edx
mov edx, dword [esp + 0x6c]
push eax
push ecx
push 0
push 0
push eax
mov eax, dword [esp + 0x90]
push ecx
mov ecx, dword [esp + 0x90]
push eax
push ecx
push edx
call fcn.100a9960
push ebp
call fcn.10032c00
push eax
push esi
push edi
call fcn.100a98d0
push esi
mov eax, dword [esp + 0x60]
push eax
call fcn.100a1010
call fcn.10046b40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret 0x40
push ebp
call fcn.10032b80
cmp eax, 8
ja 0x1004183a
mov edi, dword [esp + 0x94]
cmp edi, 8
ja 0x1004183a
push ebp
call fcn.10032b80
cmp eax, 1
jbe 0x1004183a
call fcn.100a0c60
mov ebx, eax
push ebx
mov dword [esp + 0x94], ebx
call sym.GEAR32PO.OCX_GPb_image_alloc
mov esi, eax
push 0
test esi, esi
mov dword [esp + 0x14], esi
jne 0x100412ff
push 1
push 0xfffff434
push 0x292
push str.C:_accusoftgear_sourceDISPLAYdisplay.c
call fcn.10046940
push ebx
call fcn.100a12c0
call fcn.10046b40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret 0x40
mov ecx, dword [ebp + 8]
mov edx, dword [ebp + 4]
push 0
push 0
push 0x18
push ecx
lea eax, [esp + 0x40]
push edx
push eax
call fcn.10032e40
lea ecx, [esp + 0x2c]
push 0
push ecx
push esi
call sym.GEAR32PO.OCX_GPb_DIB_alloc
mov esi, eax
test esi, esi
mov dword [esp + 0x94], esi
je 0x10041814
push esi
call fcn.10032bc0
mov edx, dword [esp + 0x60]
mov dword [esp + 0x74], eax
push edx
push ebp
call fcn.10032b80
push eax
push ebp
call fcn.10032b60
push eax
mov eax, dword [esp + 0x64]
push eax
call fcn.100aab80
push esi
mov dword [esp + 0x84], eax
call fcn.10032ac0
push ebp
mov dword [esp + 0x80], eax
call fcn.10032ac0
mov ebx, eax
push ebp
mov dword [esp + 0x7c], ebx
call fcn.10032b20
push ebp
mov esi, eax
call fcn.10032b80
dec eax
je 0x100414bf
sub eax, 3
je 0x1004141d
sub eax, 4
jne 0x10041657
mov eax, dword [ebp + 8]
mov dword [esp + 0x60], 0
test eax, eax
jbe 0x10041657
mov edx, dword [ebp + 4]
mov eax, dword [esp + 0x7c]
xor edi, edi
mov ecx, ebx
test edx, edx
jbe 0x100413f1
xor edx, edx
inc eax
mov dl, byte [ecx]
mov dl, byte [esi + edx*4]
mov byte [eax - 1], dl
xor edx, edx
mov dl, byte [ecx]
inc eax
mov dl, byte [esi + edx*4 + 1]
mov byte [eax - 1], dl
xor edx, edx
mov dl, byte [ecx]
inc eax
inc ecx
inc edi
mov dl, byte [esi + edx*4 + 2]
mov byte [eax - 1], dl
mov edx, dword [ebp + 4]
cmp edi, edx
jb 0x100413c5
mov eax, dword [esp + 0x80]
mov edi, dword [esp + 0x7c]
mov ecx, dword [ebp + 8]
add ebx, eax
mov eax, dword [esp + 0x74]
add edi, eax
mov eax, dword [esp + 0x60]
inc eax
mov dword [esp + 0x7c], edi
cmp eax, ecx
mov dword [esp + 0x60], eax
jb 0x100413b6
jmp 0x10041657
mov eax, dword [ebp + 8]
mov dword [esp + 0x60], 0
test eax, eax
jbe 0x10041657
mov eax, dword [esp + 0x7c]
xor ecx, ecx
xor edi, edi
cmp dword [ebp + 4], ecx
mov edx, ebx
mov dword [esp + 0x84], ecx
jbe 0x1004148b
test cl, 1
jne 0x10041457
xor ecx, ecx
mov cl, byte [edx]
inc edx
mov edi, ecx
sar ecx, 4
jmp 0x1004145c
mov ecx, edi
and ecx, 0xf
mov bl, byte [esi + ecx*4]
lea ecx, [esi + ecx*4]
mov byte [eax], bl
inc eax
mov bl, byte [ecx + 1]
mov byte [eax], bl
mov cl, byte [ecx + 2]
inc eax
mov byte [eax], cl
mov ecx, dword [esp + 0x84]
mov ebx, dword [ebp + 4]
inc eax
inc ecx
cmp ecx, ebx
mov dword [esp + 0x84], ecx
jb 0x10041446
mov ebx, dword [esp + 0x78]
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x74]
mov edi, dword [esp + 0x7c]
mov ecx, dword [ebp + 8]
add ebx, eax
mov eax, dword [esp + 0x60]
add edi, edx
inc eax
cmp eax, ecx
mov dword [esp + 0x78], ebx
mov dword [esp + 0x7c], edi
mov dword [esp + 0x60], eax
jb 0x10041430
jmp 0x10041657
mov eax, dword [esp + 0x58]
push 0
push edi
push eax
call fcn.100aac10
test eax, eax
je 0x100415a5
mov ecx, dword [esp + 0x80]
mov edx, dword [esp + 0x90]
push ecx
push edx
call fcn.100a0c80
test eax, eax
mov dword [esp + 0x84], eax
jne 0x10041511
push 3
push 0x65
push 0xfffffc18
push 0x2d8
push str.C:_accusoftgear_sourceDISPLAYdisplay.c
call fcn.10046940
jmp 0x100415a5
mov eax, dword [ebp + 8]
mov ebx, dword [esp + 0x78]
mov dword [esp + 0x60], 0
lea edi, [eax - 1]
imul edi, dword [esp + 0x80]
add edi, ebx
test eax, 0xfffffffe
jbe 0x1004158c
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
push eax
push ebx
push ecx
call fcn.100a98d0
mov edx, dword [esp + 0x80]
push edx
push edi
push ebx
call fcn.100a98d0
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x84]
push eax
push ecx
push edi
call fcn.100a98d0
mov edx, dword [ebp + 8]
mov eax, dword [esp + 0x80]
add ebx, eax
sub edi, eax
mov eax, dword [esp + 0x60]
inc eax
shr edx, 1
cmp eax, edx
mov dword [esp + 0x60], eax
jb 0x10041534
mov eax, dword [esp + 0x84]
mov ecx, dword [esp + 0x90]
push eax
push ecx
call fcn.100a1010
mov ebx, dword [esp + 0x78]
mov eax, dword [ebp + 8]
mov dword [esp + 0x60], 0
test eax, eax
jbe 0x10041657
mov edi, dword [ebp + 4]
mov eax, dword [esp + 0x7c]
xor edx, edx
xor ecx, ecx
test edi, edi
mov dword [esp + 0x78], ebx
mov dword [esp + 0x84], ecx
jbe 0x1004162c
and ecx, 7
jne 0x100415e9
mov ecx, dword [esp + 0x78]
xor edx, edx
mov dl, byte [ecx]
inc ecx
mov dword [esp + 0x78], ecx
test dl, 0x80
jmp 0x100415f2
mov edi, 0x80
sar edi, cl
test edx, edi
je 0x10041605
mov cl, byte [esi + 4]
mov byte [eax], cl
mov cl, byte [esi + 5]
inc eax
mov byte [eax], cl
mov cl, byte [esi + 6]
inc eax
jmp 0x10041613
mov cl, byte [esi]
mov byte [eax], cl
mov cl, byte [esi + 1]
inc eax
mov byte [eax], cl
mov cl, byte [esi + 2]
inc eax
mov byte [eax], cl
mov ecx, dword [esp + 0x84]
mov edi, dword [ebp + 4]
inc eax
inc ecx
cmp ecx, edi
mov dword [esp + 0x84], ecx
jb 0x100415d2
mov eax, dword [esp + 0x80]
mov edx, dword [esp + 0x74]
mov edi, dword [esp + 0x7c]
mov ecx, dword [ebp + 8]
add ebx, eax
mov eax, dword [esp + 0x60]
add edi, edx
inc eax
cmp eax, ecx
mov dword [esp + 0x7c], edi
mov dword [esp + 0x60], eax
jb 0x100415b8
lea eax, [esp + 0x1c]
lea ecx, [esp + 0x20]
push eax
lea edx, [esp + 0x8c]
push ecx
lea eax, [esp + 0x20]
push edx
lea ecx, [esp + 0x30]
push eax
mov eax, dword [esp + 0x9c]
lea edx, [esp + 0x6c]
push ecx
push edx
mov dx, word [eax]
push ecx
mov al, byte [eax + 2]
mov ecx, esp
push ebp
mov word [ecx], dx
mov byte [ecx + 2], al
mov ecx, dword [esp + 0x78]
push ecx
call fcn.100ab680
test eax, eax
jne 0x10041814
push ecx
mov ebp, dword [esp + 0x5c]
mov byte [esp + 0x64], 0xff
mov byte [esp + 0x65], 0xff
mov cx, word [esp + 0x64]
mov edx, esp
mov byte [esp + 0x84], al
mov byte [esp + 0x85], al
mov word [edx], cx
or al, 0xff
push ebp
xor bl, bl
mov byte [edx + 2], al
lea edx, [esp + 0x68]
push edx
call fcn.100ab530
mov di, word [eax]
push ecx
mov dx, word [esp + 0x84]
mov ecx, esp
mov al, byte [eax + 2]
push ebp
mov byte [esp + 0x86], al
mov word [ecx], dx
lea eax, [esp + 0x88]
push eax
mov byte [ecx + 2], bl
call fcn.100ab5a0
mov cx, word [eax]
push 0x8800c6
mov ebx, dword [esp + 0x74]
mov esi, dword [esp + 0x70]
mov dl, byte [eax + 2]
mov eax, dword [esp + 0x8c]
push 0
push 0
mov word [esp + 0x6c], cx
mov ecx, dword [esp + 0x74]
push eax
mov byte [esp + 0x72], dl
mov edx, dword [esp + 0x74]
push ebx
push esi
push ecx
push edx
push ebp
call fcn.100ab640
push 0
push 0
mov eax, dword [esp + 0x9c]
push eax
push ebp
call fcn.100ab4d0
lea ecx, [esp + 0x14]
push ecx
push eax
push ebx
push esi
push ebp
call fcn.100ab490
push 0x8800c6
push 0
mov edx, dword [esp + 0x64]
push 0
push edx
push esi
push esi
mov ebp, eax
push 0
push 0
push ebp
call fcn.100ab640
push 0xee0086
push 0
mov eax, dword [esp + 0x70]
mov ecx, dword [esp + 0x6c]
push 0
push ebp
push ebx
push esi
push eax
mov esi, dword [esp + 0x74]
push ecx
push esi
call fcn.100ab640
push ecx
lea ecx, [esp + 0x5c]
mov al, byte [esp + 0x82]
mov edx, esp
push esi
push ecx
mov word [edx], di
mov byte [edx + 2], al
call fcn.100ab530
push ecx
mov ax, word [esp + 0x64]
mov cl, byte [esp + 0x66]
mov edx, esp
push esi
mov word [edx], ax
mov byte [edx + 2], cl
lea edx, [esp + 0x60]
push edx
call fcn.100ab5a0
mov eax, dword [esp + 0x14]
push eax
push ebp
call fcn.100ab610
mov ecx, dword [esp + 0x18]
mov edx, dword [esp + 0x5c]
push ecx
push edx
call fcn.100ab610
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x88]
push eax
push ecx
call fcn.100ab610
push 0
mov edx, dword [esp + 0x14]
mov eax, dword [esp + 0x98]
push edx
push eax
call sym.GEAR32PO.OCX_GPb_image_associate
mov ecx, dword [esp + 0x10]
push ecx
call fcn.100828e0
mov ebx, dword [esp + 0x90]
push ebx
call fcn.100a12c0
call fcn.10046b40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret 0x40
push ebp
call fcn.10032b80
cmp eax, 1
push ebp
jne 0x100419cc
call fcn.10032b20
mov ecx, dword [eax + 4]
mov edx, dword [eax]
mov edi, dword [esp + 0x8c]
mov dword [esp + 0x28], ecx
mov dword [esp + 0x24], edx
mov ecx, 2
mov dl, byte [edi + 2]
mov bl, byte [eax + 2]
cmp dl, bl
jne 0x10041891
mov dl, byte [edi + 1]
mov bl, byte [eax + 1]
cmp dl, bl
jne 0x10041891
mov dl, byte [edi]
mov bl, byte [eax]
cmp dl, bl
jne 0x10041891
mov byte [eax + 2], 0xff
mov byte [eax + 1], 0xff
mov byte [eax], 0xff
jmp 0x1004189c
mov byte [eax + 2], 0
mov byte [eax + 1], 0
mov byte [eax], 0
add eax, 4
dec ecx
jne 0x10041868
mov ebx, dword [esp + 0x90]
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x80]
push ebx
push eax
mov eax, dword [esp + 0x84]
push 0x8800c6
push ebp
push ecx
mov ecx, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0x8c]
push eax
mov eax, dword [esp + 0x8c]
push ecx
mov ecx, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0x8c]
push eax
mov eax, dword [esp + 0x8c]
push ecx
mov ecx, dword [esp + 0x84]
push edx
push eax
push ecx
call fcn.100a9960
push ebp
call fcn.10032b20
lea ecx, [esp + 0x24]
mov esi, 2
mov dl, byte [edi + 2]
cmp dl, byte [ecx + 2]
jne 0x1004193c
mov dl, byte [edi + 1]
cmp dl, byte [ecx + 1]
jne 0x1004193c
mov dl, byte [edi]
cmp dl, byte [ecx]
jne 0x1004193c
mov byte [eax + 2], 0
mov byte [eax + 1], 0
mov byte [eax], 0
jmp 0x10041940
mov edx, dword [ecx]
mov dword [eax], edx
add ecx, 4
add eax, 4
dec esi
jne 0x10041919
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x84]
mov edx, dword [esp + 0x80]
push ebx
push eax
mov eax, dword [esp + 0x84]
push 0xee0086
push ebp
push ecx
mov ecx, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0x8c]
push eax
mov eax, dword [esp + 0x8c]
push ecx
mov ecx, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0x8c]
push eax
mov eax, dword [esp + 0x8c]
push ecx
mov ecx, dword [esp + 0x84]
push edx
push eax
push ecx
call fcn.100a9960
push ebp
call fcn.10032b20
mov edx, dword [esp + 0x24]
mov ecx, dword [esp + 0x28]
mov dword [eax], edx
mov dword [eax + 4], ecx
call fcn.10046b40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret 0x40
call fcn.10032b80
cmp eax, 8
push ebp
ja 0x10041bde
call fcn.10032b20
push ebp
mov ebx, eax
call fcn.10032c50
push ebp
mov dword [esp + 0x8c], eax
call fcn.10032c00
push eax
mov edx, dword [esp + 0x60]
push edx
call fcn.100a0c80
test eax, eax
mov dword [esp + 0x94], eax
jne 0x10041a15
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret 0x40
push ebp
call fcn.10032c00
mov ecx, eax
mov esi, ebx
mov edi, dword [esp + 0x94]
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
mov eax, dword [esp + 0x88]
and ecx, 3
test eax, eax
rep movsb byte es:[edi], byte [esi]
jbe 0x10041a85
mov eax, dword [esp + 0x8c]
mov esi, dword [esp + 0x88]
mov cl, byte [eax + 2]
mov dl, byte [ebx + 2]
cmp cl, dl
jne 0x10041a74
mov dl, byte [eax + 1]
mov cl, byte [ebx + 1]
cmp dl, cl
jne 0x10041a74
mov cl, byte [eax]
mov dl, byte [ebx]
cmp cl, dl
jne 0x10041a74
mov byte [ebx + 2], 0xff
mov byte [ebx + 1], 0xff
mov byte [ebx], 0xff
jmp 0x10041a7f
mov byte [ebx + 2], 0
mov byte [ebx + 1], 0
mov byte [ebx], 0
add ebx, 4
dec esi
jne 0x10041a4b
mov esi, dword [esp + 0x90]
mov edi, dword [esp + 0x60]
mov ebx, dword [esp + 0x84]
mov edx, dword [esp + 0x80]
mov eax, dword [esp + 0x7c]
mov ecx, dword [esp + 0x78]
push esi
push edi
push 0x8800c6
push ebp
push ebx
push edx
mov edx, dword [esp + 0x8c]
push eax
mov eax, dword [esp + 0x8c]
push ecx
mov ecx, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0x8c]
push eax
mov eax, dword [esp + 0x8c]
push ecx
mov ecx, dword [esp + 0x84]
push edx
push eax
push ecx
call fcn.100a9960
push ebp
call fcn.10032b20
mov edx, dword [esp + 0x88]
test edx, edx
jbe 0x10041b43
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x60], edx
inc ecx
cmp byte [eax + 2], 0xff
jne 0x10041b22
cmp byte [eax + 1], 0xff
jne 0x10041b22
cmp byte [eax], 0xff
jne 0x10041b22
mov byte [eax + 2], 0
mov byte [eax + 1], 0
mov byte [eax], 0
jmp 0x10041b32
mov dl, byte [ecx + 1]
mov byte [eax + 2], dl
mov dl, byte [ecx]
mov byte [eax + 1], dl
mov dl, byte [ecx - 1]
mov byte [eax], dl
mov edx, dword [esp + 0x60]
add eax, 4
add ecx, 4
dec edx
mov dword [esp + 0x60], edx
jne 0x10041b04
mov eax, dword [esp + 0x80]
mov ecx, dword [esp + 0x7c]
mov edx, dword [esp + 0x78]
push esi
push edi
push 0xee0086
push ebp
push ebx
push eax
mov eax, dword [esp + 0x8c]
push ecx
mov ecx, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0x8c]
push eax
mov eax, dword [esp + 0x8c]
push ecx
mov ecx, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0x84]
push eax
push ecx
push edx
call fcn.100a9960
push ebp
call fcn.10032c00
push ebp
mov edi, eax
mov ebx, dword [esp + 0x98]
mov esi, ebx
call fcn.10032b20
push ebx
mov dword [esp + 0x5c], edi
mov edi, eax
mov eax, dword [esp + 0x5c]
mov ecx, eax
mov eax, dword [esp + 0x60]
mov edx, ecx
push eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, edx
and ecx, 3
rep movsb byte es:[edi], byte [esi]
call fcn.100a1010
call fcn.10046b40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret 0x40
call fcn.10032b80
cmp eax, 0x18
push ebp
jne 0x10041ef2
call fcn.10032b60
mov esi, eax
push ebp
mov dword [esp + 0x8c], esi
call fcn.10032b70
mov ebx, eax
mov ecx, dword [esp + 0x60]
push ecx
push ebp
call fcn.10032b80
push eax
push esi
mov edi, dword [esp + 0x64]
push edi
call fcn.100aab80
push ebp
mov dword [esp + 0x98], eax
call fcn.10032cd0
push edi
mov esi, eax
call fcn.100ab1e0
cmp eax, 1
jne 0x10041d06
test ebx, ebx
jbe 0x10041fcc
mov esi, dword [esp + 0x8c]
xor edi, edi
push ebp
call fcn.10032ac0
add eax, edi
mov ecx, dword [esp + 0x88]
test ecx, ecx
jbe 0x10041c83
mov dl, byte [esi]
cmp dl, byte [eax]
jne 0x10041c7d
mov dl, byte [esi + 1]
cmp dl, byte [eax + 1]
jne 0x10041c7d
mov dl, byte [esi + 2]
cmp dl, byte [eax + 2]
jne 0x10041c7d
mov byte [eax], 0xff
mov byte [eax + 1], 0xff
mov byte [eax + 2], 0xff
add eax, 3
dec ecx
jne 0x10041c5c
mov ecx, dword [esp + 0x94]
add edi, ecx
dec ebx
jne 0x10041c49
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x84]
push eax
mov eax, dword [esp + 0x84]
push ecx
mov ecx, dword [esp + 0x84]
push 0xcc0020
push ebp
push edx
mov edx, dword [esp + 0x8c]
push eax
mov eax, dword [esp + 0x8c]
push ecx
mov ecx, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0x8c]
push eax
mov eax, dword [esp + 0x8c]
push ecx
mov ecx, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0x84]
push eax
push ecx
push edx
call fcn.100a9960
call fcn.10046b40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret 0x40
mov eax, dword [esp + 0x5c]
push esi
push eax
call fcn.100a0c80
mov edi, eax
test edi, edi
mov dword [esp + 0x10], edi
jne 0x10041d25
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret 0x40
push esi
push ebp
call fcn.10032ac0
push eax
push edi
call fcn.100a98d0
test ebx, ebx
jbe 0x10041da3
mov esi, dword [esp + 0x8c]
xor edi, edi
mov dword [esp + 0x14], ebx
push ebp
call fcn.10032ac0
add eax, edi
mov ecx, dword [esp + 0x88]
test ecx, ecx
jbe 0x10041d8b
mov dl, byte [esi]
cmp dl, byte [eax]
jne 0x10041d7a
mov dl, byte [esi + 1]
cmp dl, byte [eax + 1]
jne 0x10041d7a
mov dl, byte [esi + 2]
cmp dl, byte [eax + 2]
jne 0x10041d7a
mov byte [eax], 0xff
mov byte [eax + 1], 0xff
mov byte [eax + 2], 0xff
jmp 0x10041d85
mov byte [eax], 0
mov byte [eax + 1], 0
mov byte [eax + 2], 0
add eax, 3
dec ecx
jne 0x10041d57
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x14]
add edi, ecx
dec eax
mov dword [esp + 0x14], eax
jne 0x10041d44
mov edi, dword [esp + 0x10]
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x84]
push eax
mov eax, dword [esp + 0x84]
push ecx
mov ecx, dword [esp + 0x84]
push 0x8800c6
push ebp
push edx
mov edx, dword [esp + 0x8c]
push eax
mov eax, dword [esp + 0x8c]
push ecx
mov ecx, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0x8c]
push eax
mov eax, dword [esp + 0x8c]
push ecx
mov ecx, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0x84]
push eax
push ecx
push edx
call fcn.100a9960
test ebx, ebx
jbe 0x10041e70
xor esi, esi
push ebp
call fcn.10032ac0
add eax, esi
lea ecx, [edi + esi]
mov edx, dword [esp + 0x88]
test edx, edx
jbe 0x10041e60
mov edi, edx
cmp byte [eax], 0xff
jne 0x10041e47
cmp byte [eax + 1], 0xff
jne 0x10041e47
cmp byte [eax + 2], 0xff
jne 0x10041e47
mov byte [eax], 0
mov byte [eax + 1], 0
mov byte [eax + 2], 0
jmp 0x10041e57
mov dl, byte [ecx]
mov byte [eax], dl
mov dl, byte [ecx + 1]
mov byte [eax + 1], dl
mov dl, byte [ecx + 2]
mov byte [eax + 2], dl
add eax, 3
add ecx, 3
dec edi
jne 0x10041e29
mov ecx, dword [esp + 0x94]
mov edi, dword [esp + 0x10]
add esi, ecx
dec ebx
jne 0x10041e11
mov eax, dword [esp + 0x5c]
push edi
push eax
call fcn.100a1010
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x84]
push ecx
mov ecx, dword [esp + 0x84]
push edx
mov edx, dword [esp + 0x84]
push 0xee0086
push ebp
push eax
mov eax, dword [esp + 0x8c]
push ecx
mov ecx, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0x8c]
push eax
mov eax, dword [esp + 0x8c]
push ecx
mov ecx, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0x8c]
push eax
mov eax, dword [esp + 0x84]
push ecx
push edx
push eax
call fcn.100a9960
call fcn.10046b40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret 0x40
call fcn.10032b80
cmp eax, 0x10
jne 0x1004220b
push ebp
call fcn.10032cd0
push ebp
mov esi, eax
call fcn.10032b60
mov edi, eax
push ebp
mov dword [esp + 0x8c], edi
call fcn.10032b70
mov ebx, eax
mov ecx, dword [esp + 0x60]
push ecx
push ebp
call fcn.10032b80
push eax
push edi
mov edx, dword [esp + 0x64]
push edx
call fcn.100aab80
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x8c]
mov cl, byte [eax + 1]
mov dl, byte [eax + 2]
shr cl, 3
movzx di, cl
shr dl, 3
xor cx, cx
mov cl, dl
mov dl, byte [eax]
shl ecx, 5
or edi, ecx
mov ecx, dword [esp + 0x58]
shr dl, 3
xor ax, ax
push ecx
shl edi, 5
mov al, dl
or edi, eax
call fcn.100ab1e0
cmp eax, 1
jne 0x10042043
test ebx, ebx
jbe 0x10041fcc
mov dword [esp + 0x5c], ebx
mov ebx, dword [esp + 0x88]
xor esi, esi
push ebp
call fcn.10032ac0
add eax, esi
test ebx, ebx
jbe 0x10041fb8
mov ecx, ebx
mov dx, word [eax]
and edx, 0x7fff
cmp di, dx
jne 0x10041fb5
mov word [eax], 0xffff
add eax, 2
dec ecx
jne 0x10041f9f
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x5c]
add esi, ecx
dec eax
mov dword [esp + 0x5c], eax
jne 0x10041f91
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x84]
push eax
mov eax, dword [esp + 0x84]
push ecx
mov ecx, dword [esp + 0x84]
push 0xcc0020
push ebp
push edx
mov edx, dword [esp + 0x8c]
push eax
mov eax, dword [esp + 0x8c]
push ecx
mov ecx, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0x8c]
push eax
mov eax, dword [esp + 0x8c]
push ecx
mov ecx, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0x84]
push eax
push ecx
push edx
call fcn.100a9960
call fcn.10046b40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret 0x40
mov eax, dword [esp + 0x5c]
push esi
push eax
call fcn.100a0c80
test eax, eax
mov dword [esp + 0x10], eax
jne 0x10042060
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret 0x40
push esi
push ebp
call fcn.10032ac0
push eax
mov ecx, dword [esp + 0x18]
push ecx
call fcn.100a98d0
test ebx, ebx
jbe 0x100420cc
xor esi, esi
mov dword [esp + 0x8c], ebx
push ebp
call fcn.10032ac0
add eax, esi
mov ecx, dword [esp + 0x88]
test ecx, ecx
jbe 0x100420b2
mov dx, word [eax]
and edx, 0x7fff
cmp di, dx
jne 0x100420a7
mov word [eax], 0xffff
jmp 0x100420ac
mov word [eax], 0
add eax, 2
dec ecx
jne 0x10042092
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x8c]
add esi, ecx
dec eax
mov dword [esp + 0x8c], eax
jne 0x1004207f
mov eax, dword [esp + 0x90]
mov ecx, dword [esp + 0x60]
mov edx, dword [esp + 0x84]
push eax
mov eax, dword [esp + 0x84]
push ecx
mov ecx, dword [esp + 0x84]
push 0x8800c6
push ebp
push edx
mov edx, dword [esp + 0x8c]
push eax
mov eax, dword [esp + 0x8c]
push ecx
mov ecx, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0x8c]
push eax
mov eax, dword [esp + 0x8c]
push ecx
mov ecx, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0x84]
push eax
push ecx
push edx
call fcn.100a9960
test ebx, ebx
jbe 0x10042194
mov dword [esp + 0x8c], ebx
mov ebx, dword [esp + 0x10]
xor esi, esi
push ebp
call fcn.10032ac0
add eax, esi
lea ecx, [ebx + esi]
mov edx, dword [esp + 0x88]
test edx, edx
jbe 0x10042178
cmp word [eax], 0xffff
jne 0x10042169
mov word [eax], 0
jmp 0x1004216f
mov di, word [ecx]
mov word [eax], di
add eax, 2
add ecx, 2
dec edx
jne 0x1004215b
mov ecx, dword [esp + 0x94]
mov eax, dword [esp + 0x8c]
add esi, ecx
dec eax
mov dword [esp + 0x8c], eax
jne 0x10042145
jmp 0x10042198
mov ebx, dword [esp + 0x10]
mov eax, dword [esp + 0x5c]
push ebx
push eax
call fcn.100a1010
mov ecx, dword [esp + 0x90]
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x84]
push ecx
mov ecx, dword [esp + 0x84]
push edx
mov edx, dword [esp + 0x84]
push 0xee0086
push ebp
push eax
mov eax, dword [esp + 0x8c]
push ecx
mov ecx, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0x8c]
push eax
mov eax, dword [esp + 0x8c]
push ecx
mov ecx, dword [esp + 0x8c]
push edx
mov edx, dword [esp + 0x8c]
push eax
mov eax, dword [esp + 0x84]
push ecx
push edx
push eax
call fcn.100a9960
call fcn.10046b40
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x44
ret 0x40