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

Disassembly:
mov eax, 0x1088
call fcn.00494280
mov eax, dword [esp + 0x1098]
mov edx, dword [esp + 0x109c]
mov ecx, dword [esp + 0x1094]
push ebx
mov ebx, dword [esp + 0x1090]
push ebp
push esi
xor esi, esi
xor ebp, ebp
push edi
mov edi, dword [esp + 0x10a0]
mov dword [esp + 0x18], 1
mov dword [esp + 0x14], esi
mov dword [esp + 0x1c], ebx
cmp eax, esi
jne 0x478fe0
cmp ecx, esi
je 0x478fd3
mov dword [ecx], 0x63
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1088
ret
mov dword [eax], esi
cmp ecx, esi
je 0x478fe8
mov dword [ecx], esi
cmp edx, esi
jne 0x478ff6
mov eax, 0x10
jmp 0x47961d
mov dword [edx], esi
mov dword [esp + 0x30], 0x4b44c0
mov dword [esp + 0x34], 0x4b45c0
mov dword [esp + 0x38], 0x4b46c0
mov dword [esp + 0x3c], 0x4b4800
test edi, 0xdc038580
je 0x47902a
mov eax, 0x11
jmp 0x47960e
cmp byte [ebx], 0x28
jne 0x47917f
jmp 0x479042
xor esi, esi
cmp byte [ebx + ebp + 1], 0x2a
jne 0x47917f
push 5
lea esi, [ebx + ebp + 2]
push 0x4b75ac
push esi
call fcn.0048a8b1
add esp, 0xc
test eax, eax
jne 0x479073
add ebp, 7
or edi, 0x800
jmp 0x479173
push 4
push 0x4b75b4
push esi
call fcn.0048a8b1
add esp, 0xc
test eax, eax
jne 0x479095
add ebp, 6
or edi, 0x20000000
jmp 0x479173
push 3
push str.Report
push esi
call fcn.0048a8b1
add esp, 0xc
test eax, eax
jne 0x4790bc
add ebp, 5
mov eax, 0x100000
and edi, 0xff8fffff
jmp 0x479171
push 3
push 0x4b75c0
push esi
call fcn.0048a8b1
add esp, 0xc
test eax, eax
jne 0x4790e3
add ebp, 5
mov eax, 0x200000
and edi, 0xff8fffff
jmp 0x479171
push 5
push 0x4b75c4
push esi
call fcn.0048a8b1
add esp, 0xc
test eax, eax
jne 0x479107
add ebp, 7
mov eax, 0x300000
and edi, 0xff8fffff
jmp 0x479171
push 4
push str.Tile
push esi
call fcn.0048a8b1
add esp, 0xc
test eax, eax
jne 0x47912b
add ebp, 6
mov eax, 0x400000
and edi, 0xff8fffff
jmp 0x479171
push 8
push 0x4b75d4
push esi
call fcn.0048a8b1
add esp, 0xc
test eax, eax
jne 0x47914f
add ebp, 0xa
mov eax, 0x500000
and edi, 0xff8fffff
jmp 0x479171
push 0xc
push 0x4b75e0
push esi
call fcn.0048a8b1
add esp, 0xc
test eax, eax
jne 0x4791c7
add ebp, 0xe
mov eax, 0x800000
and edi, 0xfe7fffff
or edi, eax
cmp byte [ebx + ebp], 0x28
je 0x479040
xor esi, esi
mov eax, edi
shr eax, 0xb
mov edx, 1
and eax, edx
mov dword [esp + 0x28], eax
je 0x4791a6
test edi, 0x2000
jne 0x4791a6
mov eax, dword [esp + 0x10ac]
mov dword [eax], 0xffffffff
mov eax, edi
and eax, 0x1800000
je 0x4791e5
cmp eax, 0x800000
je 0x4791e5
cmp eax, 0x1000000
je 0x4791e5
mov eax, 0x38
jmp 0x47960e
push 0xc
push 0x4b75f0
push esi
call fcn.0048a8b1
add esp, 0xc
test eax, eax
jne 0x47917d
add ebp, 0xe
mov eax, 0x1000000
jmp 0x47916b
mov eax, edi
and eax, 0x700000
mov ecx, 2
cmp eax, 0x300000
jg 0x479249
je 0x479242
cmp eax, esi
je 0x479242
cmp eax, 0x100000
je 0x47923b
cmp eax, 0x200000
jne 0x479257
mov eax, 0xa
mov dword [esp + 0x88], esi
cmp eax, 0xff
jle 0x479273
mov dword [esp + 0x8c], ecx
mov ecx, eax
sar ecx, 8
mov byte [esp + 0x90], cl
mov byte [esp + 0x91], al
jmp 0x479281
mov eax, 0xd
jmp 0x479211
mov eax, 0xd0a
jmp 0x479211
cmp eax, 0x400000
je 0x47926a
cmp eax, 0x500000
je 0x479261
mov eax, 0x38
jmp 0x47960e
mov dword [esp + 0x88], ecx
jmp 0x479281
mov dword [esp + 0x88], edx
jmp 0x479281
mov dword [esp + 0x8c], edx
mov byte [esp + 0x90], al
lea edx, [esp + 0x98]
mov eax, edx
mov dword [esp + 0x44], eax
mov ecx, edx
mov eax, ebx
mov dword [esp + 0x40], edx
mov dword [esp + 0x6c], esi
mov dword [esp + 0x70], esi
mov dword [esp + 0x68], esi
mov dword [esp + 0x64], esi
mov dword [esp + 0x5c], esi
mov dword [esp + 0x60], esi
mov dword [esp + 0x58], esi
mov dword [esp + 0x54], ecx
mov dword [esp + 0x48], ebx
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x4792c0
sub eax, edx
add eax, ebx
lea edx, [esp + 0x98]
mov dword [esp + 0x20], edx
mov dword [esp + 0x4c], eax
xor eax, eax
lea ecx, [esp + 0x18]
push ecx
lea edx, [esp + 0x34]
push edx
push eax
lea ecx, [esp + 0x30]
push ecx
lea edx, [esp + 0x3c]
push edx
push eax
push eax
push eax
mov dword [esp + 0x9c], eax
mov dword [esp + 0x98], eax
mov dword [esp + 0x70], eax
lea eax, [esp + 0x34]
push eax
lea ecx, [esp + 0x40]
push ecx
lea edx, [esp + 0x48]
push edx
mov eax, edi
and eax, 7
push eax
lea esi, [ebx + ebp]
push edi
mov dword [esp + 0xa8], edi
mov dword [esp + 0x50], esi
mov byte [esp + 0xcc], 0x5e
call fcn.004785c0
mov eax, dword [esp + 0x48]
add esp, 0x34
test eax, eax
jne 0x47960e
mov edi, dword [esp + 0x18]
cmp edi, 0x10000
jle 0x47935c
mov eax, 0x14
jmp 0x47960e
mov ecx, dword [esp + 0x60]
add ecx, 3
imul ecx, dword [esp + 0x5c]
lea ebx, [ecx + edi + 0x28]
push ebx
call dword [0x4bd378]
mov ebp, eax
add esp, 4
test ebp, ebp
jne 0x479384
lea eax, [ebp + 0x15]
jmp 0x479607
mov dword [ebp + 4], ebx
mov dword [ebp], 0x50435245
mov edx, dword [esp + 0x74]
mov dword [ebp + 8], edx
movzx eax, word [esp + 0x78]
mov word [ebp + 0xc], ax
xor edx, edx
mov dword [ebp + 0x14], edx
xor ecx, ecx
mov word [ebp + 0xe], cx
mov ecx, 0x28
mov word [ebp + 0x18], cx
movzx edx, word [esp + 0x60]
mov word [ebp + 0x1a], dx
movzx eax, word [esp + 0x5c]
xor ecx, ecx
mov word [ebp + 0x1c], ax
mov word [ebp + 0x1e], cx
mov dword [ebp + 0x20], ecx
mov dword [ebp + 0x24], ecx
mov edx, dword [esp + 0x64]
mov dword [esp + 0x68], edx
mov dword [esp + 0x64], ecx
mov dword [esp + 0x5c], ecx
movzx eax, word [ebp + 0x18]
push ecx
add eax, ebp
mov dword [esp + 0x5c], eax
movzx edx, word [ebp + 0x1a]
movzx ebx, word [ebp + 0x1c]
imul ebx, edx
lea edx, [esp + 0x34]
push edx
push ecx
lea edx, [esp + 0x30]
push edx
lea edx, [esp + 0x3c]
push edx
push ecx
push ecx
push ecx
add ebx, eax
mov dword [esp + 0x9c], ecx
mov dword [esp + 0xa0], ecx
mov dword [esp + 0xa4], ecx
mov dword [esp + 0x70], ecx
lea eax, [esp + 0xb8]
mov dword [esp + 0x64], ebx
mov dword [esp + 0x74], eax
lea ecx, [esp + 0x34]
push ecx
mov byte [ebx], 0x5e
mov eax, dword [ebp + 8]
lea edx, [esp + 0x40]
push edx
lea ecx, [esp + 0x48]
mov edx, eax
push ecx
and edx, 7
push edx
push eax
mov dword [esp + 0x50], esi
mov dword [esp + 0x54], ebx
call fcn.004785c0
movzx eax, word [esp + 0x98]
mov word [ebp + 0x10], ax
mov cx, word [esp + 0xa0]
mov word [ebp + 0x12], cx
movzx edx, word [esp + 0xac]
add esp, 0x34
mov word [ebp + 0xc], dx
cmp dword [esp + 0x80], 0
je 0x479495
mov dword [esp + 0x24], 0xffffffff
cmp dword [esp + 0x14], 0
jne 0x4794ad
mov eax, dword [esp + 0x1c]
cmp byte [eax], 0
je 0x4794ad
mov dword [esp + 0x14], 0x16
mov eax, dword [esp + 0x20]
mov byte [eax], 0
inc eax
sub eax, ebx
cmp eax, edi
jle 0x4794c8
mov dword [esp + 0x14], 0x17
jmp 0x47954f
cmp dword [esp + 0x14], 0
jne 0x47954f
mov ecx, dword [esp + 0x54]
lea edx, [esp + 0x98]
cmp ecx, edx
jbe 0x47953d
mov edi, dword [esp + 0x28]
sub ecx, 2
mov dword [esp + 0x54], ecx
movzx eax, byte [ecx + 1]
movzx ecx, byte [ecx]
shl ecx, 8
or eax, ecx
movzx esi, byte [eax + ebx]
movzx edx, byte [eax + ebx + 1]
mov dword [esp + 0x18], eax
shl esi, 8
or esi, edx
mov eax, ebx
call fcn.00472e70
test eax, eax
je 0x479533
mov esi, dword [esp + 0x18]
mov ecx, eax
sub ecx, ebx
sar ecx, 8
sub al, bl
mov byte [esi + ebx], cl
mov byte [esi + ebx + 1], al
cmp dword [esp + 0x14], 0
je 0x4794d3
jmp 0x47954f
mov dword [esp + 0x14], 0x35
jmp 0x47954f
mov dx, word [ebp + 0x12]
cmp dx, word [ebp + 0x10]
jbe 0x47954f
mov dword [esp + 0x14], 0xf
cmp dword [esp + 0x84], 0
je 0x4795f2
mov edi, dword [esp + 0x28]
or esi, 0xffffffff
mov eax, ebx
call fcn.00472e70
mov esi, eax
test esi, esi
je 0x4795f2
movzx eax, byte [esi + 1]
movzx ecx, byte [esi + 2]
shl eax, 8
or eax, ecx
jne 0x4795ca
movzx edx, byte [esi - 2]
movzx eax, byte [esi - 1]
shl edx, 8
or edx, eax
movzx ecx, byte [edx + esi - 3]
lea edi, [edx + esi - 3]
lea edx, [esp + 0x30]
push edx
mov byte [edi], 0
mov eax, dword [ebp + 8]
push 1
push eax
push esi
mov dword [esp + 0x28], ecx
call fcn.00472b60
mov cl, byte [esp + 0x28]
add esp, 0x10
mov byte [edi], cl
test eax, eax
js 0x4795e1
mov edx, eax
sar edx, 8
mov byte [esi + 1], dl
mov byte [esi + 2], al
mov edi, dword [esp + 0x28]
lea eax, [esi + 3]
or esi, 0xffffffff
call fcn.00472e70
mov esi, eax
test esi, esi
jne 0x479575
jmp 0x4795f2
sub eax, 0xfffffffe
neg eax
sbb eax, eax
and eax, 0xfffffff5
add eax, 0x24
mov dword [esp + 0x14], eax
cmp dword [esp + 0x14], 0
je 0x479662
push ebp
call dword [0x4bd37c]
mov eax, dword [esp + 0x18]
add esp, 4
mov ebx, dword [esp + 0x109c]
mov ecx, dword [esp + 0x1c]
mov edx, dword [esp + 0x10ac]
sub ecx, ebx
mov dword [edx], ecx
mov esi, eax
mov ecx, 0x4b4b38
test eax, eax
jle 0x47963f
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x479628
cmp byte [ecx], dl
je 0x47963a
dec esi
test esi, esi
jg 0x479628
jmp 0x47963f
mov ecx, 0x4b7574
mov edx, dword [esp + 0x10a8]
mov dword [edx], ecx
mov ecx, dword [esp + 0x10a4]
test ecx, ecx
je 0x479655
mov dword [ecx], eax
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x1088
ret
mov eax, dword [ebp + 8]
test al, 0x10
jne 0x4796ed
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0x70]
push eax
push 0
lea ecx, [esp + 0x20]
push ecx
push ebx
call fcn.004789a0
add esp, 0x10
test eax, eax
je 0x479690
or dword [ebp + 8], 0x10
jmp 0x4796ed
mov eax, dword [esp + 0x2c]
test eax, eax
jns 0x4796ac
push 0
lea edx, [esp + 0x1c]
push edx
push ebx
call fcn.00478db0
add esp, 0xc
test eax, eax
js 0x4796d4
mov ecx, eax
and ecx, 0xff
test eax, 0x100
je 0x4796c9
mov edx, dword [esp + 0x34]
movzx edx, byte [edx + ecx]
cmp edx, ecx
jne 0x4796c9
mov eax, ecx
or word [ebp + 0xc], 2
mov word [ebp + 0x14], ax
jmp 0x4796ed
mov eax, dword [esp + 0x70]
push eax
push 0
push ebx
call fcn.00478b40
add esp, 0xc
test eax, eax
je 0x4796ed
or word [ebp + 0xc], 8
mov eax, dword [esp + 0x24]
test eax, eax
js 0x47972b
test byte [ebp + 8], 0x10
je 0x479702
test eax, 0x200
je 0x47972b
mov ecx, eax
and ecx, 0xff
test eax, 0x100
je 0x479722
mov edx, dword [esp + 0x34]
movzx edx, byte [edx + ecx]
cmp edx, ecx
jne 0x479722
and eax, 0xfffffeff
or word [ebp + 0xc], 4
mov word [ebp + 0x16], ax
pop edi
pop esi
mov eax, ebp
pop ebp
pop ebx
add esp, 0x1088
ret