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

Disassembly:
sub esp, 0x64
or eax, 0xffffffff
push ebx
push ebp
push esi
xor esi, esi
mov word [esp + 0x5a], ax
mov word [esp + 0x5c], ax
mov word [esp + 0x5e], ax
mov word [esp + 0x60], ax
mov word [esp + 0x62], ax
mov word [esp + 0x6e], ax
mov eax, dword [esp + 0x74]
mov ebx, ecx
mov ecx, 1
mov word [eax], si
test dword [ebx + 0x42c], 0x20000
push edi
mov dword [esp + 0x20], ebx
mov word [esp + 0x54], si
mov word [esp + 0x56], cx
mov word [esp + 0x58], cx
mov word [esp + 0x5a], cx
mov word [esp + 0x5c], si
mov word [esp + 0x68], si
mov word [esp + 0x6a], cx
mov word [esp + 0x6c], cx
mov word [esp + 0x6e], cx
mov word [esp + 0x70], si
jne 0x430fb9
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x64
ret 4
mov eax, dword [ebx + 8]
mov ecx, dword [eax + 0x14]
mov eax, dword [eax + 0x10]
imul eax, ecx
shl eax, 2
push eax
call fcn.00488e10
mov ecx, dword [ebx + 8]
add esp, 4
cmp eax, esi
mov dword [esp + 0x14], eax
jne 0x43102f
add ecx, 0x1c
push ecx
lea ecx, [esp + 0x7c]
call fcn.004415d0
mov edx, dword [esp + 0x78]
mov eax, dword [0x4b1dfc]
push edx
push esi
push str.shadow_dot
push 2
push str.PICTURE__s
push eax
call fcn.00408f90
mov eax, dword [esp + 0x90]
add esp, 0x18
cmp eax, 0x4b1de8
je 0x431090
push eax
call fcn.00488e76
add esp, 4
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x64
ret 4
mov eax, dword [ecx + 0x14]
imul eax, dword [ecx + 0x10]
push eax
call fcn.00488e10
mov edi, eax
add esp, 4
cmp edi, esi
mov dword [esp + 0x24], edi
jne 0x43109f
mov ecx, dword [ebx + 8]
add ecx, 0x1c
push ecx
lea ecx, [esp + 0x7c]
call fcn.004415d0
mov edx, dword [esp + 0x78]
mov eax, dword [0x4b1dfc]
push edx
push esi
push str.dot_without_shadow
push 2
push str.PICTURE__s
push eax
call fcn.00408f90
mov eax, dword [esp + 0x90]
add esp, 0x18
cmp eax, 0x4b1de8
je 0x431090
push eax
call fcn.00488e76
add esp, 4
pop edi
pop esi
pop ebp
mov eax, 2
pop ebx
add esp, 0x64
ret 4
mov eax, dword [ebx + 8]
mov ecx, dword [eax + 0x14]
imul ecx, dword [eax + 0x10]
mov edx, ecx
shr ecx, 2
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov eax, dword [ebx + 8]
mov ecx, dword [eax + 0x10]
xor edi, edi
test ecx, ecx
mov dword [esp + 0x3c], 1
jle 0x431156
xor ebp, ebp
test edi, edi
mov dword [esp + 0x10], ebp
jl 0x431110
push ebp
push edi
mov ecx, ebx
call fcn.00432940
test eax, eax
je 0x4310fd
mov ecx, dword [ebx + 8]
mov edx, dword [ecx + 0x10]
mov eax, dword [esp + 0x24]
imul edx, ebp
add edx, edi
cmp byte [edx + eax], 0
je 0x431108
inc ebp
cmp ebp, edi
jle 0x4310db
mov dword [esp + 0x10], ebp
jmp 0x431110
cmp ebp, edi
mov dword [esp + 0x10], ebp
jle 0x43115a
xor esi, esi
test edi, edi
jle 0x431143
push edi
push esi
mov ecx, ebx
call fcn.00432940
test eax, eax
je 0x431138
mov ecx, dword [ebx + 8]
mov edx, dword [ecx + 0x10]
mov eax, dword [esp + 0x24]
imul edx, edi
add edx, esi
cmp byte [edx + eax], 0
je 0x43113f
inc esi
cmp esi, edi
jl 0x431116
jmp 0x431143
cmp esi, edi
jl 0x431150
mov ecx, dword [ebx + 8]
mov eax, dword [ecx + 0x10]
inc edi
cmp edi, eax
jl 0x4310d1
jmp 0x43115a
mov dword [esp + 0x10], edi
mov edi, esi
mov ebp, dword [esp + 0x10]
mov edx, dword [ebx + 8]
cmp edi, dword [edx + 0x10]
jge 0x431090
mov ecx, dword [esp + 0x14]
movsx eax, di
mov word [ecx], di
mov dword [esp + 0x50], eax
movsx edx, bp
xor eax, eax
mov word [ecx + 2], bp
add ecx, 4
mov dword [esp + 0x4c], edx
mov dword [esp + 0x18], 1
mov dword [esp + 0x28], eax
mov dword [esp + 0x1c], ecx
jmp 0x43119a
mov eax, dword [esp + 0x28]
lea ebx, [eax + 1]
and ebx, 7
cmp ebx, eax
je 0x43123c
jmp 0x4311ae
mov ebp, dword [esp + 0x10]
movsx eax, word [esp + ebx*2 + 0x64]
lea esi, [eax + ebp]
movsx ebp, word [esp + ebx*2 + 0x54]
push esi
lea ecx, [edi + ebp]
push ecx
mov ecx, dword [esp + 0x28]
call fcn.00432940
test eax, eax
je 0x4311e8
mov edx, dword [esp + 0x20]
mov eax, dword [edx + 8]
mov ecx, dword [eax + 0x10]
mov edx, dword [esp + 0x24]
imul ecx, esi
add ecx, ebp
add ecx, edi
cmp byte [ecx + edx], 0
je 0x4311f6
mov eax, dword [esp + 0x28]
inc ebx
and ebx, 7
cmp ebx, eax
jne 0x4311aa
jmp 0x431234
movsx ecx, word [esp + ebx*2 + 0x64]
movsx eax, word [esp + ebx*2 + 0x54]
mov edx, dword [esp + 0x10]
mov esi, dword [esp + 0x18]
add edx, ecx
mov ecx, dword [esp + 0x1c]
add edi, eax
mov eax, ebx
xor eax, 4
mov word [ecx], di
mov word [ecx + 2], dx
inc esi
add ecx, 4
cmp ebx, eax
mov dword [esp + 0x10], edx
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], esi
mov dword [esp + 0x1c], ecx
jne 0x431282
mov ecx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x10]
mov edx, dword [esp + 0x18]
dec edx
sub ecx, 4
mov dword [esp + 0x18], edx
movsx edx, word [ecx - 4]
mov dword [esp + 0x1c], ecx
xor eax, eax
movsx ebx, word [esp + eax*2 + 0x54]
movsx esi, word [ecx]
add ebx, edx
cmp esi, ebx
jne 0x431273
movsx ebx, word [ecx - 2]
movsx esi, word [esp + eax*2 + 0x64]
add esi, ebx
movsx ebx, word [ecx + 2]
cmp ebx, esi
je 0x431279
inc eax
cmp eax, 8
jl 0x431252
xor eax, 4
mov dword [esp + 0x28], eax
jmp 0x43128a
mov ecx, dword [esp + 0x1c]
mov ebp, dword [esp + 0x10]
mov edx, dword [esp + 0x14]
movsx eax, word [edx]
cmp eax, edi
jne 0x431196
movsx eax, word [edx + 2]
cmp eax, ebp
jne 0x431196
mov eax, dword [esp + 0x18]
xor esi, esi
test eax, eax
mov dword [esp + 0x38], 1
mov dword [esp + 0x30], esi
jle 0x431470
mov ebx, edx
lea ecx, [ebx + 4]
mov dword [esp + 0x44], ecx
lea ecx, [esi + 3]
cmp ecx, eax
mov dword [esp + 0x1c], ecx
jge 0x431436
lea edx, [ebx + esi*4 + 2]
lea ebx, [ebx + ecx*4 + 2]
mov dword [esp + 0x40], edx
mov dword [esp + 0x2c], ebx
movsx edi, word [ebx]
mov eax, dword [esp + 0x40]
movsx ebp, word [eax]
mov ecx, edi
sub ecx, ebp
jne 0x43130b
mov eax, dword [esp + 0x14]
movsx edx, word [ebx - 2]
movsx ecx, word [eax + esi*4]
sub edx, ecx
je 0x431412
mov edx, dword [esp + 0x14]
movsx ecx, word [edx + esi*4]
movsx edx, word [ebx - 4]
mov eax, ecx
sub eax, edx
movsx edx, word [ebx - 6]
sub eax, edx
add eax, ebp
cdq
xor eax, edx
sub eax, edx
cmp eax, 1
jl 0x431412
mov edx, dword [esp + 0x1c]
lea eax, [esi + 1]
cmp eax, edx
mov dword [esp + 0x34], eax
jge 0x431412
movsx edx, word [ebx - 2]
sub ecx, edx
mov edx, dword [esp + 0x14]
lea eax, [edx + eax*4]
mov dword [esp + 0x28], eax
mov edx, ecx
mov eax, ebp
imul edx, ecx
sub eax, edi
mov ecx, eax
imul ecx, eax
add edx, ecx
push edx
call fcn.00405fc0
movsx edi, word [ebx]
movsx edx, word [ebx - 2]
mov ebx, dword [esp + 0x2c]
movsx ebx, word [ebx]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0x18]
movsx esi, word [eax + esi*4]
mov eax, dword [esp + 0x44]
movsx ebp, word [eax]
mov eax, edi
sub eax, ebp
imul eax, ebx
mov ebx, dword [esp + 0x2c]
movsx ebx, word [ebx + 2]
mov ecx, esi
imul esi, edi
sub ecx, edx
imul edx, ebp
imul ebx, ecx
add eax, ebx
sub eax, esi
add eax, edx
cdq
xor eax, edx
sub eax, edx
cdq
idiv dword [esp + 0x4c]
mov edx, dword [esp + 0x24]
mov edx, dword [edx + 0x42c]
and edx, 0x80000
add esp, 4
neg edx
sbb edx, edx
and edx, 3
cmp eax, edx
jg 0x431400
mov eax, dword [esp + 0x34]
mov esi, dword [esp + 0x28]
mov edx, dword [esp + 0x1c]
mov ebx, dword [esp + 0x2c]
add esi, 4
inc eax
cmp eax, edx
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x30]
mov dword [esp + 0x34], eax
jl 0x431355
jmp 0x431412
mov eax, dword [esp + 0x1c]
cmp dword [esp + 0x34], eax
jl 0x43142e
mov esi, dword [esp + 0x30]
mov ebx, dword [esp + 0x2c]
mov eax, dword [esp + 0x1c]
mov ecx, dword [esp + 0x18]
inc eax
add ebx, 4
cmp eax, ecx
mov dword [esp + 0x1c], eax
mov dword [esp + 0x2c], ebx
jl 0x4312e7
mov ebx, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
mov ecx, dword [esp + 0x1c]
cmp ecx, eax
lea esi, [ecx - 1]
mov dword [esp + 0x30], esi
jge 0x43145f
mov edx, dword [ebx + ecx*4 - 4]
mov ecx, dword [esp + 0x44]
mov edi, dword [esp + 0x38]
inc edi
mov dword [ecx], edx
add ecx, 4
mov dword [esp + 0x38], edi
mov dword [esp + 0x44], ecx
cmp esi, eax
jl 0x4312c8
mov eax, dword [esp + 0x38]
cmp eax, 3
jge 0x431496
mov eax, dword [esp + 0x20]
mov ecx, dword [eax + 8]
mov edx, dword [ecx + 0x10]
imul edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x50]
mov ebx, dword [esp + 0x20]
add edx, eax
mov eax, dword [esp + 0x24]
mov byte [edx + eax], 1
jmp 0x4310b9
cmp eax, 0xff
jle 0x4314c0
cdq
sub eax, edx
sar eax, 1
test eax, eax
jle 0x4314b9
mov edx, ebx
mov ecx, ebx
mov esi, eax
mov edi, dword [ecx]
mov dword [edx], edi
add ecx, 8
add edx, 4
dec esi
jne 0x4314ac
cmp eax, 0xff
jg 0x43149d
test eax, eax
mov esi, dword [esp + 0x78]
mov word [esi], ax
jle 0x431522
add esi, 2
mov edi, ebx
mov ebp, eax
movsx ecx, word [edi + 2]
movsx edx, word [edi]
push ecx
mov ecx, dword [esp + 0x24]
push edx
call fcn.0042f280
mov cx, word [edi]
movsx eax, ax
cdq
and edx, 7
add eax, edx
mov word [esi], cx
mov dx, word [edi + 2]
mov ecx, dword [esp + 0x3c]
sar eax, 3
sub eax, 0x80
add esi, 2
add dx, ax
inc ecx
mov word [esi], dx
add esi, 2
inc ecx
mov word [esi], ax
inc ecx
add esi, 2
add edi, 4
dec ebp
mov dword [esp + 0x3c], ecx
jne 0x4314d2
push ebx
call fcn.00488e76
mov eax, dword [esp + 0x28]
push eax
call fcn.00488e76
mov ecx, dword [esp + 0x44]
add esp, 8
pop edi
pop esi
pop ebp
lea eax, [ecx + ecx]
pop ebx
add esp, 0x64
ret 4