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

Disassembly:
sub esp, 0x8c
push ebx
push ebp
mov dword [esp + 8], ecx
push esi
push edi
lea ecx, [esp + 0x1c]
call fcn.0040ee20
lea ecx, [esp + 0x1c]
call fcn.00416100
mov eax, dword [0x621804]
mov ebp, dword [0x628930]
mov ecx, dword [0x6256f8]
mov edx, dword [0x625734]
mov dword [esp + 0x28], eax
mov dword [esp + 0x18], ebp
mov dword [esp + 0x60], ecx
mov dword [esp + 0x58], edx
call fcn.005a4a10
mov eax, dword [ebp]
xor ebx, ebx
push 1
push ebx
mov ecx, ebp
call dword [eax + 4]
call fcn.004bd2c0
mov esi, eax
mov eax, 0x66666667
xor edi, edi
mov ecx, dword [esi]
mov edx, dword [esi + 4]
sub edx, ecx
imul edx
sar edx, 3
mov eax, edx
shr eax, 0x1f
add edx, eax
je 0x4c91da
mov ecx, dword [ecx + ebx]
push ecx
call fcn.004bd5c0
mov ecx, dword [esi]
mov edx, dword [esi + 4]
sub edx, ecx
mov eax, 0x66666667
imul edx
sar edx, 3
mov eax, edx
add esp, 4
shr eax, 0x1f
inc edi
add edx, eax
add ebx, 0x14
cmp edi, edx
jb 0x4c91ac
xor ebx, ebx
mov edi, dword [esp + 0x10]
mov ecx, edi
call fcn.00423ab0
cmp eax, 0x3e80
jl 0x4c91f3
cmp eax, 0x3e8f
jle 0x4c91fa
cmp eax, 0x3e96
jne 0x4c925c
push 1
call fcn.004bd2d0
mov edi, dword [esi]
mov ecx, dword [esi + 4]
sub ecx, edi
mov eax, 0x66666667
imul ecx
sar edx, 3
mov ecx, edx
mov ebx, 2
shr ecx, 0x1f
add edx, ecx
add esp, 4
cmp edx, ebx
jbe 0x4c92dd
mov ebp, 0x28
mov edx, dword [edi + ebp]
push edx
call fcn.004bd630
mov edi, dword [esi]
mov ecx, dword [esi + 4]
sub ecx, edi
mov eax, 0x66666667
imul ecx
sar edx, 3
mov eax, edx
add esp, 4
shr eax, 0x1f
inc ebx
add edx, eax
add ebp, 0x14
cmp ebx, edx
jb 0x4c922e
jmp 0x4c92d9
mov ecx, edi
call fcn.00423b40
test al, al
je 0x4c92df
mov ecx, edi
call fcn.00423b10
push eax
call fcn.004bd2d0
mov edi, dword [esi]
mov ecx, dword [esi + 4]
sub ecx, edi
mov eax, 0x66666667
imul ecx
sar edx, 3
mov ecx, edx
mov ebx, 2
shr ecx, 0x1f
add edx, ecx
add esp, 4
cmp edx, ebx
jbe 0x4c92dd
mov ebp, 0x28
mov ecx, dword [esp + 0x10]
call fcn.00423ae0
cmp dword [edi + ebp], eax
je 0x4c92b9
mov edx, dword [esi]
mov eax, dword [edx + ebp]
push eax
call fcn.004bd630
add esp, 4
mov edi, dword [esi]
mov ecx, dword [esi + 4]
sub ecx, edi
mov eax, 0x66666667
imul ecx
sar edx, 3
mov ecx, edx
inc ebx
shr ecx, 0x1f
add edx, ecx
add ebp, 0x14
cmp ebx, edx
jb 0x4c929d
mov ebp, dword [esp + 0x18]
xor ebx, ebx
mov edx, dword [str.economy.cfg]
lea ecx, [esp + 0x1c]
push edx
call fcn.00415fc0
test al, al
je 0x4c92ff
lea eax, [esp + 0x1c]
mov ecx, ebp
push eax
call fcn.0049d0e0
mov ecx, dword [esp + 0x10]
mov eax, dword [str.economy]
lea edx, [esp + 0x64]
mov dword [esp + 0x64], ebx
lea esi, [ecx + 0x18]
mov ecx, dword [str.start]
push edx
push eax
push ecx
mov ecx, esi
mov dword [esp + 0x80], esi
call fcn.004169f0
test al, al
je 0x4c934c
mov edx, dword [esp + 0x64]
lea ecx, [esp + 0x1c]
push edx
call fcn.00415fc0
test al, al
je 0x4c934c
lea eax, [esp + 0x1c]
mov ecx, ebp
push eax
call fcn.0049d0e0
mov ecx, dword [esp + 0x60]
call fcn.004b95d0
mov ecx, dword [str.research]
mov edx, dword [str.start]
push ecx
lea eax, [esp + 0x6c]
push edx
push eax
mov ecx, esi
call fcn.00416d70
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x68]
sub ecx, eax
xor ebp, ebp
sar ecx, 2
je 0x4c95f4
mov esi, dword [eax + ebp*4]
lea edx, [esp + 0x2f]
push ebx
push edx
lea ecx, [esp + 0x40]
mov dword [esp + 0x38], ebx
mov dword [esp + 0x3c], ebx
call fcn.0046fe80
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, esi
push ecx
push esi
lea ecx, [esp + 0x38]
call fcn.00406380
lea eax, [esp + 0x2e]
push ebx
push eax
lea ecx, [esp + 0x4c]
mov dword [esp + 0x44], ebx
mov dword [esp + 0x48], ebx
call fcn.0046fe80
mov edi, esi
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, esi
push ecx
push esi
lea ecx, [esp + 0x44]
call fcn.00406380
mov edi, 0x60ac0c
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
push ecx
push 0xffffffffffffffff
push 0x60ac0c
lea ecx, [esp + 0x3c]
call fcn.004927c0
mov ecx, dword [esp + 0x34]
mov edi, eax
mov eax, dword [esp + 0x30]
mov esi, ecx
sub esi, eax
cmp edi, ebx
mov dword [esp + 0x14], edi
jl 0x4c9506
lea edx, [esi - 1]
cmp edi, edx
jge 0x4c9506
cmp edi, 6
mov dword [esp + 0x10], 6
lea edx, [esp + 0x10]
jg 0x4c9441
lea edx, [esp + 0x14]
mov edx, dword [edx]
sub ecx, eax
mov dword [esp + 0x14], ecx
cmp ecx, edx
mov dword [esp + 0x10], edx
lea ecx, [esp + 0x14]
jb 0x4c9459
lea ecx, [esp + 0x10]
mov ecx, dword [ecx]
add ecx, eax
push ecx
push eax
lea ecx, [esp + 0x8c]
call fcn.004ca020
mov edx, dword [esp + 0x28]
mov eax, dword [esp + 0x88]
mov ecx, dword [esp + 0x84]
push edx
push eax
push ecx
lea ecx, [esp + 0x3c]
call fcn.00406830
lea ecx, [esp + 0x84]
call fcn.00406010
mov eax, dword [esp + 0x40]
mov ecx, dword [esp + 0x3c]
mov edx, eax
sub esi, edi
sub edx, ecx
inc esi
cmp edi, edx
mov dword [esp + 0x10], esi
ja 0x4c9625
sub eax, edi
sub eax, ecx
mov dword [esp + 0x14], eax
cmp eax, esi
lea eax, [esp + 0x14]
jb 0x4c94c4
lea eax, [esp + 0x10]
mov eax, dword [eax]
add eax, edi
add edi, ecx
add eax, ecx
lea ecx, [esp + 0x90]
push eax
push edi
call fcn.004ca020
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x94]
mov eax, dword [esp + 0x90]
push ecx
push edx
push eax
lea ecx, [esp + 0x48]
call fcn.00406830
lea ecx, [esp + 0x90]
call fcn.00406010
jmp 0x4c952f
mov ecx, dword [esp + 0x28]
mov edi, 0x61f1e0
push ecx
or ecx, 0xffffffff
xor eax, eax
repne scasb al, byte es:[edi]
not ecx
dec ecx
add ecx, 0x61f1e0
push ecx
push 0x61f1e0
lea ecx, [esp + 0x48]
call fcn.00406980
mov edx, dword [esp + 0x3c]
mov eax, dword [esp + 0x30]
push edx
lea ecx, [esp + 0x4c]
push eax
push ecx
call fcn.00415c00
mov eax, dword [esp + 0x54]
add esp, 0xc
mov ecx, dword [eax + 8]
cmp ecx, eax
mov dword [esp + 0x18], ecx
je 0x4c957b
mov edx, dword [ecx + 0x10]
mov ecx, dword [esp + 0x60]
push edx
call fcn.004b9370
lea eax, [esp + 0x18]
push eax
call fcn.004149c0
mov ecx, dword [esp + 0x1c]
mov eax, dword [esp + 0x4c]
add esp, 4
cmp ecx, eax
jne 0x4c9555
cmp dword [esp + 0x4c], ebx
je 0x4c95a7
mov ecx, dword [eax + 4]
push ecx
lea ecx, [esp + 0x4c]
call fcn.004252b0
mov eax, dword [esp + 0x48]
mov dword [eax + 8], eax
mov edx, dword [esp + 0x48]
mov dword [edx + 4], ebx
mov eax, dword [esp + 0x48]
mov dword [eax + 0xc], eax
mov dword [esp + 0x4c], ebx
lea ecx, [esp + 0x48]
call fcn.00449290
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x3c]
sub ecx, eax
push ecx
push eax
lea ecx, [esp + 0x4c]
call fcn.0041d810
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x30]
sub edx, eax
lea ecx, [esp + 0x38]
push edx
push eax
call fcn.0041d810
mov ecx, dword [esp + 0x6c]
mov eax, dword [esp + 0x68]
sub ecx, eax
inc ebp
sar ecx, 2
cmp ebp, ecx
jb 0x4c9384
mov esi, dword [esp + 0x74]
mov eax, dword [str.marketing]
mov ecx, dword [str.start]
lea edx, [esp + 0x5c]
mov dword [esp + 0x5c], ebx
push edx
push eax
push ecx
mov ecx, esi
call fcn.004169f0
test al, al
je 0x4c962a
mov edx, dword [esp + 0x5c]
mov ecx, dword [esp + 0x58]
push edx
call fcn.004bb980
jmp 0x4c9633
jmp fcn.005f0840
mov ecx, dword [esp + 0x58]
call fcn.004bbb20
mov ecx, dword [str.layouts]
mov edx, dword [str.start]
lea eax, [esp + 0x54]
mov dword [esp + 0x54], ebx
push eax
push ecx
push edx
mov ecx, esi
call fcn.004169f0
test al, al
je 0x4c9664
mov eax, dword [esp + 0x54]
mov ecx, 0x628700
push eax
call fcn.005cb4d0
mov ecx, dword [esp + 0xa4]
mov edx, dword [esp + 0xa0]
push ecx
push edx
push esi
call fcn.005a4c20
add esp, 0xc
call fcn.004a1b20
mov eax, dword [0x611718]
mov ecx, dword [str.ambients]
push eax
lea edx, [esp + 0x7c]
push ecx
push edx
mov ecx, esi
call fcn.00416a60
mov esi, dword [esp + 0x78]
mov eax, dword [esp + 0x7c]
cmp esi, eax
je 0x4c96c2
mov eax, dword [esi]
mov ecx, dword [esp + 0x28]
push eax
call fcn.004cca00
mov eax, dword [esp + 0x7c]
add esi, 4
cmp esi, eax
jne 0x4c96a7
mov esi, dword [esp + 0x78]
cmp esi, ebx
je 0x4c96df
mov ecx, dword [esp + 0x80]
sub ecx, esi
sar ecx, 2
shl ecx, 2
push ecx
push esi
call fcn.00406670
add esp, 8
mov ecx, dword [esp + 0x68]
cmp ecx, ebx
je 0x4c971b
mov eax, dword [esp + 0x70]
sub eax, ecx
sar eax, 2
shl eax, 2
cmp eax, 0x80
jbe 0x4c9705
push ecx
call fcn.005f0905
add esp, 4
jmp 0x4c971b
dec eax
shr eax, 3
mov edx, dword [eax*4 + 0x61f1a0]
lea eax, [eax*4 + 0x61f1a0]
mov dword [ecx], edx
mov dword [eax], ecx
lea ecx, [esp + 0x1c]
call fcn.00416100
cmp dword [esp + 0x20], ebx
je 0x4c976e
mov eax, dword [esp + 0x1c]
mov esi, dword [eax + 4]
cmp esi, ebx
je 0x4c9759
mov eax, dword [esi + 0xc]
lea ecx, [esp + 0x1c]
push eax
call fcn.0040f710
mov edi, dword [esi + 8]
push esi
lea ecx, [esp + 0x20]
call fcn.0048b890
cmp edi, ebx
mov esi, edi
jne 0x4c9735
mov eax, dword [esp + 0x1c]
mov dword [eax + 8], eax
mov ecx, dword [esp + 0x1c]
mov dword [ecx + 4], ebx
mov eax, dword [esp + 0x1c]
mov dword [eax + 0xc], eax
mov dword [esp + 0x20], ebx
mov eax, dword [esp + 0x1c]
cmp eax, ebx
je 0x4c9781
push 0x20
push eax
call fcn.00406670
add esp, 8
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x8c
ret 8