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

Disassembly:
sub esp, 0xc0
mov edx, dword [esp + 0xc4]
push ebx
mov ebx, dword [esp + 0xcc]
push ebp
mov ebp, dword [edx + 0x1c]
mov eax, dword [edx + 0x14]
imul ecx, ebx, 0x160c
push esi
push edi
mov esi, dword [eax]
mov edi, dword [edx + 0x18]
xor edx, edx
mov eax, dword [ebp + 0x4c]
mov dword [esp + 0x7c], ebp
mov dword [esp + 0x30], esi
mov eax, dword [ecx + eax + 0x15d0]
mov ecx, ebp
mov dword [esp + 0x18], eax
mov eax, dword [esi + 0x14]
mov dword [esp + 0x10], eax
mov eax, dword [edi + 0x18]
mov ebp, dword [ecx + 0x18]
mov dword [esp + 0x38], eax
mov eax, ebx
div ebp
mov esi, dword [edi]
imul edx, dword [ecx + 0xc]
mov eax, dword [esp + 0x30]
add edx, dword [ecx + 4]
cmp edx, esi
cmova esi, edx
mov dword [eax], esi
mov eax, dword [ecx + 0xc]
xor ecx, ecx
add eax, edx
mov edx, dword [edi + 8]
adc ecx, ecx
neg ecx
or ecx, eax
mov eax, dword [esp + 0x30]
cmp ecx, edx
cmovb edx, ecx
mov dword [eax + 8], edx
test esi, esi
js 0x100a275e
cmp edx, esi
jle 0x100a275e
xor edx, edx
mov esi, dword [edi + 4]
mov eax, ebx
mov ebx, dword [esp + 0x30]
div ebp
mov edx, eax
mov eax, dword [esp + 0x7c]
imul edx, dword [eax + 0x10]
add edx, dword [eax + 8]
cmp edx, esi
cmova esi, edx
xor ecx, ecx
mov dword [ebx + 4], esi
mov eax, dword [eax + 0x10]
add eax, edx
mov edx, dword [edi + 0xc]
adc ecx, ecx
neg ecx
or ecx, eax
cmp ecx, edx
cmovb edx, ecx
mov dword [ebx + 0xc], edx
test esi, esi
js 0x100a2757
cmp edx, esi
jle 0x100a2757
mov eax, dword [esp + 0x18]
cmp dword [eax + 4], 0
jne 0x100a1b46
push str.tiles_require_at_least_one_resolution_n
jmp 0x100a2763
cmp dword [ebx + 0x10], 0
mov dword [esp + 0x74], 0
jbe 0x100a264f
movsd xmm0, qword [0x101e6310]
mov ebp, dword [esp + 0x10]
mov edi, dword [esp + 0x38]
movsd qword [esp + 0xb8], xmm0
movsd xmm0, qword [0x101a7930]
movsd qword [esp + 0xc0], xmm0
movsd xmm0, qword [0x101e62f8]
movsd qword [esp + 0xc8], xmm0
mov eax, dword [edi]
cdq
mov esi, eax
mov dword [edi + 0x24], 0
mov eax, dword [ebx]
mov ecx, edx
cdq
add eax, esi
push ecx
adc edx, ecx
sub eax, 1
push esi
sbb edx, 0
push edx
push eax
call fcn.10104cb0
mov ebx, eax
mov dword [ebp], ebx
mov eax, dword [edi + 4]
cdq
mov esi, eax
mov ecx, edx
mov eax, dword [esp + 0x30]
push ecx
push esi
mov eax, dword [eax + 4]
cdq
add eax, esi
adc edx, ecx
sub eax, 1
sbb edx, 0
push edx
push eax
call fcn.10104cb0
mov edi, eax
mov eax, dword [esp + 0x38]
mov dword [ebp + 4], edi
mov eax, dword [eax]
cdq
mov esi, eax
mov ecx, edx
mov eax, dword [esp + 0x30]
push ecx
push esi
mov eax, dword [eax + 8]
cdq
add eax, esi
adc edx, ecx
sub eax, 1
sbb edx, 0
push edx
push eax
call fcn.10104cb0
mov ecx, dword [esp + 0x10]
mov ebp, eax
mov eax, dword [esp + 0x38]
mov dword [ecx + 8], ebp
mov eax, dword [eax + 4]
cdq
mov esi, eax
mov ecx, edx
mov eax, dword [esp + 0x30]
push ecx
push esi
mov eax, dword [eax + 0xc]
cdq
add eax, esi
adc edx, ecx
sub eax, 1
sbb edx, 0
push edx
push eax
call fcn.10104cb0
mov ecx, dword [esp + 0x10]
mov esi, eax
mov eax, dword [esp + 0x74]
mov dword [ecx + 0x10], eax
mov eax, dword [esp + 0x18]
mov dword [ecx + 0xc], esi
mov eax, dword [eax + 4]
mov dword [esp + 0x4c], eax
mov dword [ecx + 0x14], eax
mov eax, dword [esp + 0x7c]
mov edx, dword [eax + 0x50]
mov eax, dword [esp + 0x18]
mov ecx, dword [eax + 4]
mov eax, ecx
sub eax, edx
cmp ecx, edx
mov ecx, 1
cmovb eax, ecx
mov ecx, dword [esp + 0x10]
sub ebp, ebx
mov dword [ecx + 0x18], eax
sub esi, edi
je 0x100a1c90
or eax, 0xffffffff
xor edx, edx
div esi
cmp ebp, eax
ja 0x100a265f
imul esi, ebp
cmp esi, 0x3fffffff
ja 0x100a265f
mov ebp, dword [esp + 0x10]
lea eax, [esi*4]
imul esi, dword [esp + 0x4c], 0x98
push dword [ebp + 0x34]
mov dword [ebp + 0x2c], eax
call fcn.1008a2b0
mov eax, dword [ebp + 0x1c]
add esp, 4
mov dword [ebp + 0x34], 0
mov dword [ebp + 0x38], 0
mov dword [ebp + 0x3c], 0
mov dword [ebp + 0x40], 0
mov dword [ebp + 0x44], 0
test eax, eax
jne 0x100a1d0c
push esi
call fcn.1008aa70
add esp, 4
mov dword [ebp + 0x1c], eax
test eax, eax
je 0x100a2774
push esi
push 0
push eax
mov dword [ebp + 0x20], esi
call sub.VCRUNTIME140.dll_memset
jmp 0x100a1d3a
cmp esi, dword [ebp + 0x20]
jbe 0x100a1d3d
push esi
push eax
call fcn.1008aa90
add esp, 8
test eax, eax
je 0x100a2673
mov ecx, esi
mov dword [ebp + 0x1c], eax
sub ecx, dword [ebp + 0x20]
add eax, dword [ebp + 0x20]
push ecx
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov dword [ebp + 0x20], esi
add esp, 0xc
mov eax, dword [esp + 0x18]
mov esi, dword [ebp + 0x14]
add eax, 0x1c
mov edi, dword [ebp + 0x1c]
mov dword [esp + 0x34], edi
mov dword [esp + 0x64], eax
mov dword [esp + 0x50], 0
test esi, esi
je 0x100a261f
nop dword [eax]
nop word [eax + eax]
xor ecx, ecx
mov dword [esp + 0x94], esi
mov dword [esp + 0x90], esi
xor ebx, ebx
mov dword [esp + 0x8c], esi
mov dword [esp + 0x84], esi
dec esi
mov eax, esi
mov dword [esp + 0x1c], esi
bts ecx, eax
cmp eax, 0x20
cmovae ebx, ecx
xor ecx, ebx
cmp eax, 0x40
mov eax, dword [ebp]
cmovae ebx, ecx
cdq
add eax, ecx
mov dword [esp + 0x20], ecx
mov ecx, esi
mov dword [esp + 0x24], ebx
adc edx, ebx
sub eax, 1
sbb edx, 0
call fcn.10104d60
mov ebx, eax
mov ecx, esi
mov dword [edi], ebx
mov eax, dword [ebp + 4]
cdq
add eax, dword [esp + 0x20]
mov dword [esp + 0x44], ebx
adc edx, dword [esp + 0x24]
sub eax, 1
sbb edx, 0
call fcn.10104d60
mov ecx, dword [esp + 0x1c]
mov esi, eax
mov dword [edi + 4], esi
mov eax, dword [ebp + 8]
cdq
add eax, dword [esp + 0x20]
mov dword [esp + 0x40], esi
adc edx, dword [esp + 0x24]
sub eax, 1
sbb edx, 0
call fcn.10104d60
mov ecx, dword [esp + 0x1c]
mov edi, eax
mov eax, dword [esp + 0x34]
mov dword [esp + 0x4c], edi
mov dword [eax + 8], edi
mov eax, dword [ebp + 0xc]
cdq
add eax, dword [esp + 0x20]
adc edx, dword [esp + 0x24]
sub eax, 1
sbb edx, 0
call fcn.10104d60
mov edx, dword [esp + 0x18]
mov ebp, eax
mov eax, dword [esp + 0x34]
mov dword [eax + 0xc], ebp
mov eax, dword [esp + 0x50]
mov ecx, dword [edx + eax*4 + 0x32c]
mov eax, dword [edx + eax*4 + 0x3b0]
mov edx, ebx
sar edx, cl
shl edx, cl
mov dword [esp + 0x28], ecx
mov ecx, eax
mov dword [esp + 0x70], edx
mov edx, esi
sar edx, cl
xor esi, esi
shl edx, cl
xor ecx, ecx
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0x28]
bts ecx, eax
mov dword [esp + 0x54], edx
cmp eax, 0x20
cmovae esi, ecx
xor ecx, esi
cmp eax, 0x40
mov eax, edi
cmovae esi, ecx
cdq
add eax, ecx
mov ecx, dword [esp + 0x28]
adc edx, esi
sub eax, 1
sbb edx, 0
call fcn.10104d60
mov ecx, dword [esp + 0x28]
mov ebx, eax
shl ebx, cl
cmp ebx, 0x7fffffff
ja 0x100a2746
mov ecx, dword [esp + 0x2c]
xor esi, esi
bts esi, ecx
xor edi, edi
cmp ecx, 0x20
mov eax, ebp
cdq
cmovae edi, esi
xor esi, edi
cmp ecx, 0x40
cmovae edi, esi
add eax, esi
adc edx, edi
sub eax, 1
sbb edx, 0
call fcn.10104d60
mov edx, dword [esp + 0x2c]
mov esi, eax
mov ecx, edx
shl esi, cl
cmp esi, 0x7fffffff
ja 0x100a2746
mov eax, dword [esp + 0x4c]
cmp dword [esp + 0x44], eax
jne 0x100a1f01
xor ebx, ebx
jmp 0x100a1f0b
sub ebx, dword [esp + 0x70]
mov ecx, dword [esp + 0x28]
sar ebx, cl
mov edi, dword [esp + 0x34]
cmp dword [esp + 0x40], ebp
mov ebp, dword [esp + 0x54]
mov dword [edi + 0x10], ebx
jne 0x100a1f20
xor esi, esi
jmp 0x100a1f26
sub esi, ebp
mov ecx, edx
sar esi, cl
mov dword [edi + 0x14], esi
test ebx, ebx
je 0x100a1f40
or eax, 0xffffffff
xor edx, edx
div ebx
cmp eax, esi
jb 0x100a265f
mov edx, dword [esp + 0x2c]
imul esi, ebx
mov dword [esp + 0x78], esi
cmp esi, 0x6666666
ja 0x100a265f
mov ebx, dword [esp + 0x28]
lea eax, [esi + esi*4]
mov esi, dword [esp + 0x50]
shl eax, 3
mov dword [esp + 0x88], eax
test esi, esi
jne 0x100a1f71
lea eax, [esi + 1]
jmp 0x100a1fa8
mov eax, dword [esp + 0x70]
cdq
add eax, 1
adc edx, 0
shrd eax, edx, 1
mov dword [esp + 0x70], eax
mov eax, ebp
cdq
add eax, 1
adc edx, 0
dec ebx
shrd eax, edx, 1
mov edx, dword [esp + 0x2c]
dec edx
mov dword [esp + 0x54], eax
mov dword [esp + 0x28], ebx
mov eax, 3
mov dword [esp + 0x2c], edx
mov ebp, dword [esp + 0x18]
mov ecx, ebx
mov dword [edi + 0x18], eax
mov dword [esp + 0x4c], 0
cmp dword [ebp + 8], ebx
cmovb ecx, dword [ebp + 8]
cmp dword [ebp + 0xc], edx
mov dword [esp + 0x58], ecx
mov ecx, edx
cmovb ecx, dword [ebp + 0xc]
mov edx, 1
lea ebp, [edi + 0x1c]
mov dword [esp + 0x5c], ecx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x60], edx
mov ecx, dword [esp + 0x1c]
test esi, esi
jne 0x100a2073
mov ebx, dword [esp + 0x10]
mov dword [ebp + 0x10], esi
mov eax, dword [ebx]
cdq
add eax, dword [esp + 0x20]
adc edx, dword [esp + 0x24]
sub eax, 1
sbb edx, esi
call fcn.10104d60
mov ecx, dword [esp + 0x1c]
mov esi, eax
mov dword [ebp], esi
mov eax, dword [ebx + 4]
cdq
add eax, dword [esp + 0x20]
adc edx, dword [esp + 0x24]
sub eax, 1
sbb edx, 0
call fcn.10104d60
mov ecx, dword [esp + 0x1c]
mov edi, eax
mov dword [ebp + 4], edi
mov eax, dword [ebx + 8]
cdq
add eax, dword [esp + 0x20]
adc edx, dword [esp + 0x24]
sub eax, 1
sbb edx, 0
call fcn.10104d60
mov ecx, dword [esp + 0x10]
mov ebx, eax
mov dword [ebp + 8], ebx
xor ebp, ebp
mov eax, dword [ecx + 0xc]
mov ecx, dword [esp + 0x1c]
cdq
add eax, dword [esp + 0x20]
adc edx, dword [esp + 0x24]
sub eax, 1
sbb edx, ebp
call fcn.10104d60
jmp 0x100a2183
mov eax, edx
mov dword [ebp + 0x10], edx
and eax, 1
xor edx, edx
call fcn.10104c00
mov ecx, dword [esp + 0x84]
xor esi, esi
bts esi, ecx
xor edi, edi
mov ebx, eax
cmp ecx, 0x20
mov eax, dword [esp + 0x10]
mov ebp, edx
cmovae edi, esi
xor esi, edi
cmp ecx, 0x40
mov dword [esp + 0x3c], esi
mov eax, dword [eax]
cmovae edi, esi
cdq
sub eax, ebx
mov dword [esp + 0x48], edi
sbb edx, ebp
add eax, esi
adc edx, edi
sub eax, 1
sbb edx, 0
call fcn.10104d60
mov ecx, dword [esp + 0x14]
xor edx, edx
mov dword [esp + 0x68], eax
mov dword [ecx], eax
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x1c]
shr eax, 1
call fcn.10104c00
mov ecx, dword [esp + 0x8c]
mov esi, eax
mov eax, dword [esp + 0x10]
mov edi, edx
mov eax, dword [eax + 4]
cdq
sub eax, esi
sbb edx, edi
add eax, dword [esp + 0x3c]
adc edx, dword [esp + 0x48]
sub eax, 1
sbb edx, 0
call fcn.10104d60
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x6c], eax
mov dword [ecx + 4], eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0x90]
mov eax, dword [eax + 8]
cdq
sub eax, ebx
sbb edx, ebp
add eax, dword [esp + 0x3c]
adc edx, dword [esp + 0x48]
sub eax, 1
sbb edx, 0
call fcn.10104d60
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x44], eax
mov dword [ecx + 8], eax
mov eax, dword [esp + 0x60]
mov ecx, dword [esp + 0x94]
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0x10]
mov eax, dword [eax + 0xc]
cdq
sub eax, esi
sbb edx, edi
add eax, dword [esp + 0x3c]
adc edx, dword [esp + 0x48]
sub eax, 1
sbb edx, 0
call fcn.10104d60
mov ebx, dword [esp + 0x44]
mov ebp, dword [esp + 0x40]
mov esi, dword [esp + 0x68]
mov edi, dword [esp + 0x6c]
mov ecx, dword [esp + 0x14]
mov dword [ecx + 0xc], eax
sub ebx, esi
je 0x100a25c0
sub eax, edi
je 0x100a25c0
xor ecx, ecx
test ebp, ebp
je 0x100a21a7
cmp ebp, 3
sete cl
inc ecx
mov eax, dword [esp + 0x38]
mov ebx, dword [esp + 0x64]
movsd xmm0, qword [esp + 0xb8]
mov eax, dword [eax + 0x18]
sub eax, dword [ebx]
add eax, ecx
movd xmm1, eax
cvtdq2pd xmm1, xmm1
call sub.api_ms_win_crt_math_l1_1_0.dll__libm_sse2_pow_precise
movd xmm1, dword [ebx + 4]
mov ebp, dword [esp + 0x14]
mov eax, dword [esp + 0x18]
cvtdq2pd xmm1, xmm1
mov esi, dword [esp + 0x78]
mulsd xmm1, qword [esp + 0xc0]
addsd xmm1, qword [esp + 0xc8]
mulsd xmm0, xmm1
cvtsd2ss xmm0, xmm0
movss dword [ebp + 0x20], xmm0
mov ecx, dword [eax + 0x324]
mov eax, dword [ebx]
dec eax
add eax, ecx
mov dword [ebp + 0x1c], eax
mov eax, dword [ebp + 0x14]
test eax, eax
jne 0x100a224e
test esi, esi
je 0x100a224e
mov edi, dword [esp + 0x88]
push edi
call fcn.1008aa70
add esp, 4
mov dword [ebp + 0x14], eax
test eax, eax
je 0x100a26ad
push edi
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov ebx, dword [ebp + 0x14]
add esp, 0xc
xor edx, edx
mov dword [ebp + 0x18], edi
mov dword [esp + 0x3c], edx
jmp 0x100a2297
mov edi, dword [esp + 0x88]
cmp dword [ebp + 0x18], edi
jae 0x100a2286
push edi
push eax
call fcn.1008aa90
add esp, 8
test eax, eax
je 0x100a26c1
mov ecx, edi
mov dword [ebp + 0x14], eax
sub ecx, dword [ebp + 0x18]
add eax, dword [ebp + 0x18]
push ecx
push 0
push eax
call sub.VCRUNTIME140.dll_memset
add esp, 0xc
mov dword [ebp + 0x18], edi
mov ebx, dword [ebp + 0x14]
xor edx, edx
mov dword [esp + 0x3c], edx
test esi, esi
je 0x100a25c4
mov ecx, dword [esp + 0x28]
mov edi, 1
shl edi, cl
xor esi, esi
mov ecx, dword [esp + 0x2c]
mov eax, 1
shl eax, cl
xor ecx, ecx
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x58]
bts ecx, eax
cmp eax, 0x20
mov dword [esp + 0xb0], edi
cmovae esi, ecx
xor ecx, esi
cmp eax, 0x40
mov eax, dword [esp + 0x5c]
cmovae esi, ecx
mov dword [esp + 0x9c], ecx
xor ecx, ecx
mov dword [esp + 0xa0], esi
xor esi, esi
bts ecx, eax
cmp eax, 0x20
cmovae esi, ecx
xor ecx, esi
cmp eax, 0x40
mov dword [esp + 0xa4], ecx
cmovae esi, ecx
mov dword [esp + 0xa8], esi
nop dword [eax]
mov ecx, dword [esp + 0x34]
mov eax, edx
xor edx, edx
mov esi, dword [esp + 0x98]
div dword [ecx + 0x10]
imul edx, edi
imul eax, esi
add edx, dword [esp + 0x70]
add eax, dword [esp + 0x54]
add esi, eax
lea ecx, [edx + edi]
mov edi, dword [ebp]
cmp edx, edi
cmovg edi, edx
mov dword [ebx], edi
mov edx, dword [ebp + 4]
cmp eax, edx
mov dword [esp + 0x48], edi
cmovg edx, eax
mov dword [ebx + 4], edx
mov eax, dword [ebp + 8]
cmp ecx, eax
cmovl eax, ecx
mov dword [ebx + 8], eax
mov edi, dword [ebp + 0xc]
cmp esi, edi
mov ebp, dword [esp + 0x48]
cmovl edi, esi
mov esi, dword [esp + 0x58]
mov ecx, esi
mov dword [ebx + 0xc], edi
sar ebp, cl
shl ebp, cl
mov ecx, dword [esp + 0x5c]
sar edx, cl
shl edx, cl
mov ecx, esi
mov dword [esp + 0x80], edx
cdq
add eax, dword [esp + 0x9c]
mov dword [esp + 0x48], ebp
adc edx, dword [esp + 0xa0]
sub eax, 1
sbb edx, 0
call fcn.10104d60
mov ecx, dword [esp + 0x58]
mov esi, eax
shl esi, cl
mov eax, edi
mov edi, dword [esp + 0x5c]
sub esi, ebp
sar esi, cl
mov ecx, edi
cdq
add eax, dword [esp + 0xa4]
mov dword [ebx + 0x10], esi
adc edx, dword [esp + 0xa8]
sub eax, 1
sbb edx, 0
call fcn.10104d60
mov ecx, edi
mov ebp, eax
shl ebp, cl
sub ebp, dword [esp + 0x80]
sar ebp, cl
mov dword [ebx + 0x14], ebp
imul ebp, esi
mov dword [esp + 0xac], ebp
cmp ebp, 0x4ec4ec4
ja 0x100a2735
mov eax, dword [ebx + 0x18]
imul esi, ebp, 0x34
test eax, eax
jne 0x100a241f
test ebp, ebp
je 0x100a241f
push esi
call fcn.1008aa70
add esp, 4
mov dword [ebx + 0x18], eax
test eax, eax
je 0x100a2774
push esi
jmp 0x100a2442
cmp esi, dword [ebx + 0x1c]
jbe 0x100a2450
push esi
push eax
call fcn.1008aa90
add esp, 8
test eax, eax
je 0x100a26fb
mov ecx, esi
mov dword [ebx + 0x18], eax
sub ecx, dword [ebx + 0x1c]
add eax, dword [ebx + 0x1c]
push ecx
push 0
push eax
call sub.VCRUNTIME140.dll_memset
mov dword [ebx + 0x1c], esi
add esp, 0xc
mov edi, dword [esp + 0xdc]
mov ecx, dword [ebx + 0x14]
mov eax, dword [ebx + 0x20]
mov edx, dword [ebx + 0x10]
push edi
push ecx
push edx
test eax, eax
jne 0x100a2471
call fcn.100aac10
add esp, 0xc
jmp 0x100a247a
push eax
call fcn.100aafe0
add esp, 0x10
mov dword [ebx + 0x20], eax
mov eax, dword [ebx + 0x14]
mov edx, dword [ebx + 0x24]
mov ecx, dword [ebx + 0x10]
push edi
push eax
push ecx
test edx, edx
jne 0x100a2497
call fcn.100aac10
add esp, 0xc
jmp 0x100a24a0
push edx
call fcn.100aafe0
add esp, 0x10
mov dword [ebx + 0x24], eax
xor eax, eax
mov dword [esp + 0x68], eax
test ebp, ebp
je 0x100a259d
mov ecx, dword [esp + 0x58]
mov esi, 1
shl esi, cl
mov edx, 1
mov ecx, dword [esp + 0x5c]
shl edx, cl
xor ecx, ecx
mov dword [esp + 0x44], esi
mov dword [esp + 0x6c], edx
mov dword [esp + 0x40], ecx
xor edx, edx
div dword [ebx + 0x10]
mov edi, edx
mov ebp, eax
imul ebp, dword [esp + 0x6c]
imul edi, esi
mov esi, dword [ebx + 0x18]
add esi, ecx
add ebp, dword [esp + 0x80]
add edi, dword [esp + 0x48]
cmp dword [esi + 4], 0
jne 0x100a2513
push 0x18
push 0x64
call fcn.1008aa30
add esp, 8
mov dword [esi + 4], eax
test eax, eax
je 0x100a2774
cmp dword [esi + 8], 0
jne 0x100a2530
push 0x18
push 0x64
call fcn.1008aa30
add esp, 8
mov dword [esi + 8], eax
test eax, eax
je 0x100a2774
mov eax, dword [ebx]
cmp edi, eax
mov ecx, dword [esp + 0x44]
cmovg eax, edi
mov dword [esi + 0xc], eax
mov eax, dword [ebx + 4]
cmp ebp, eax
push esi
cmovg eax, ebp
add ecx, edi
mov dword [esi + 0x10], eax
mov eax, dword [ebx + 8]
cmp ecx, eax
cmovl eax, ecx
mov ecx, dword [esp + 0x70]
mov dword [esi + 0x14], eax
add ecx, ebp
mov eax, dword [ebx + 0xc]
cmp ecx, eax
cmovl eax, ecx
mov dword [esi + 0x18], eax
call fcn.1009f3c0
add esp, 4
test eax, eax
je 0x100a2774
mov eax, dword [esp + 0x68]
mov ecx, dword [esp + 0x40]
inc eax
mov esi, dword [esp + 0x44]
add ecx, 0x34
mov dword [esp + 0x68], eax
mov dword [esp + 0x40], ecx
cmp eax, dword [esp + 0xac]
jb 0x100a24d5
mov edx, dword [esp + 0x3c]
add ebx, 0x28
mov ebp, dword [esp + 0x14]
inc edx
mov edi, dword [esp + 0xb0]
mov dword [esp + 0x3c], edx
cmp edx, dword [esp + 0x78]
jb 0x100a2310
jmp 0x100a25c4
mov ebp, dword [esp + 0x14]
mov ecx, dword [esp + 0x4c]
add ebp, 0x24
mov edi, dword [esp + 0x34]
inc ecx
mov edx, dword [esp + 0x60]
mov eax, dword [esp + 0x64]
inc edx
mov esi, dword [esp + 0x50]
add eax, 8
mov dword [esp + 0x4c], ecx
mov dword [esp + 0x60], edx
mov dword [esp + 0x14], ebp
mov dword [esp + 0x64], eax
cmp ecx, dword [edi + 0x18]
jb 0x100a1fe1
mov ebp, dword [esp + 0x10]
mov ecx, esi
mov esi, dword [esp + 0x1c]
inc ecx
add edi, 0x98
mov dword [esp + 0x50], ecx
mov dword [esp + 0x34], edi
mov dword [esp + 0x64], eax
cmp ecx, dword [ebp + 0x14]
jb 0x100a1d70
mov eax, dword [esp + 0x74]
add ebp, 0x4c
mov ebx, dword [esp + 0x30]
inc eax
mov edi, dword [esp + 0x38]
add dword [esp + 0x18], 0x438
add edi, 0x34
mov dword [esp + 0x10], ebp
mov dword [esp + 0x38], edi
mov dword [esp + 0x74], eax
cmp eax, dword [ebx + 0x10]
jb 0x100a1b93
pop edi
pop esi
pop ebp
mov eax, 1
pop ebx
add esp, 0xc0
ret
mov eax, dword [esp + 0xdc]
push str.Size_of_tile_data_exceeds_system_limits_n
push 1
push eax
jmp 0x100a276c
mov eax, dword [esp + 0xdc]
push str.Not_enough_memory_for_tile_resolutions_n
push 1
push eax
call fcn.1008aab0
push dword [ebp + 0x1c]
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
add esp, 0x10
mov dword [ebp + 0x1c], 0
mov dword [ebp + 0x20], 0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc0
ret
mov eax, dword [esp + 0xdc]
push str.Not_enough_memory_to_handle_band_precints_n
push 1
push eax
jmp 0x100a276c
mov eax, dword [esp + 0xdc]
push str.Not_enough_memory_to_handle_band_precints_n
push 1
push eax
call fcn.1008aab0
push dword [ebp + 0x14]
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
add esp, 0x10
mov dword [ebp + 0x14], 0
mov dword [ebp + 0x18], 0
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc0
ret
push dword [ebx + 0x18]
call sub.api_ms_win_crt_heap_l1_1_0.dll_free
mov eax, dword [esp + 0xe0]
push str.Not_enough_memory_for_current_precinct_codeblock_element_n
push 1
push eax
mov dword [ebx + 0x18], 0
mov dword [ebx + 0x1c], 0
call fcn.1008aab0
add esp, 0x10
xor eax, eax
pop edi
pop esi
pop ebp
pop ebx
add esp, 0xc0
ret
mov eax, dword [esp + 0xdc]
push str.Size_of_code_block_data_exceeds_system_limits_n
push 1
push eax
jmp 0x100a276c
mov eax, dword [esp + 0xdc]
push str.Integer_overflow_n
push 1
push eax
jmp 0x100a276c
push str.Tile_Y_coordinates_are_not_supported_n
jmp 0x100a2763
push str.Tile_X_coordinates_are_not_supported_n
push 1
push dword [esp + 0xe4]
call fcn.1008aab0
add esp, 0xc
pop edi
pop esi
pop ebp
xor eax, eax
pop ebx
add esp, 0xc0
ret