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

Disassembly:
mov eax, dword [0x911fa8]
sub esp, 0x270
test eax, eax
je 0x4c36f3
push ebx
push esi
mov esi, dword [esp + 0x280]
push edi
push esi
call fcn.004519d0
push str.Pause_Main.fng
mov ebx, eax
call fcn.004522f0
push str.Pause_Main.fng
mov dword [esp + 0x18], eax
mov dword [esp + 0x1c], edx
call fcn.004519d0
push str.Pause_Options.fng
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], str.Pause_Main.fng
call fcn.004522f0
push str.Pause_Options.fng
mov dword [esp + 0x30], eax
mov dword [esp + 0x34], edx
call fcn.004519d0
push str.Pause_Controller.fng
mov dword [esp + 0x3c], eax
mov dword [esp + 0x40], str.Pause_Options.fng
call fcn.004522f0
push str.Pause_Controller.fng
mov dword [esp + 0x48], eax
mov dword [esp + 0x4c], edx
call fcn.004519d0
push str.InGamePhotoMaster.fng
mov dword [esp + 0x54], eax
mov dword [esp + 0x58], str.Pause_Controller.fng
call fcn.004522f0
push str.InGamePhotoMaster.fng
mov dword [esp + 0x60], eax
mov dword [esp + 0x64], edx
call fcn.004519d0
push str.EA_Trax.fng
mov dword [esp + 0x6c], eax
mov dword [esp + 0x70], str.InGamePhotoMaster.fng
call fcn.004522f0
push str.EA_Trax.fng
mov dword [esp + 0x78], eax
mov dword [esp + 0x7c], edx
call fcn.004519d0
push str.FadeScreen.fng
mov dword [esp + 0x84], eax
mov dword [esp + 0x88], str.EA_Trax.fng
call fcn.004522f0
push str.FadeScreen.fng
mov dword [esp + 0x90], eax
mov dword [esp + 0x94], edx
call fcn.004519d0
push str.SMS_Message.fng
mov dword [esp + 0x9c], eax
mov dword [esp + 0xa0], str.FadeScreen.fng
call fcn.004522f0
push str.SMS_Message.fng
mov dword [esp + 0xa8], eax
mov dword [esp + 0xac], edx
call fcn.004519d0
push str.BUSTED_OVERLAY.fng
mov dword [esp + 0xb4], eax
mov dword [esp + 0xb8], str.SMS_Message.fng
call fcn.004522f0
add esp, 0x40
push str.BUSTED_OVERLAY.fng
mov dword [esp + 0x80], eax
mov dword [esp + 0x84], edx
call fcn.004519d0
push str.SixDaysLater.fng
mov dword [esp + 0x8c], eax
mov dword [esp + 0x90], str.BUSTED_OVERLAY.fng
call fcn.004522f0
push str.SixDaysLater.fng
mov dword [esp + 0x98], eax
mov dword [esp + 0x9c], edx
call fcn.004519d0
mov dword [esp + 0xa0], eax
mov dword [esp + 0xa4], str.SixDaysLater.fng
push str.InGame_MC_Main_GC.fng
call fcn.004522f0
push str.InGame_MC_Main_GC.fng
mov dword [esp + 0xb0], eax
mov dword [esp + 0xb4], edx
call fcn.004519d0
mov edi, str.InGameAnyMovie.fng
push edi
mov dword [esp + 0xbc], eax
mov dword [esp + 0xc0], str.InGame_MC_Main_GC.fng
call fcn.004522f0
push edi
mov dword [esp + 0xc8], eax
mov dword [esp + 0xcc], edx
call fcn.004519d0
push str.Pause_Performance_Tuning.fng
mov dword [esp + 0xd4], eax
mov dword [esp + 0xd8], edi
call fcn.004522f0
push str.Pause_Performance_Tuning.fng
mov dword [esp + 0xe0], eax
mov dword [esp + 0xe4], edx
call fcn.004519d0
push str.InGame_MC_Main.fng
mov dword [esp + 0xec], eax
mov dword [esp + 0xf0], str.Pause_Performance_Tuning.fng
call fcn.004522f0
push str.InGame_MC_Main.fng
mov dword [esp + 0xf8], eax
mov dword [esp + 0xfc], edx
call fcn.004519d0
push str.InGameDialog.fng
mov dword [esp + 0x104], eax
mov dword [esp + 0x108], str.InGame_MC_Main.fng
call fcn.004522f0
push str.InGameDialog.fng
mov dword [esp + 0x110], eax
mov dword [esp + 0x114], edx
call fcn.004519d0
push str.WS_InGameAnyMovie.fng
mov dword [esp + 0x11c], eax
mov dword [esp + 0x120], str.InGameDialog.fng
call fcn.004522f0
push str.WS_InGameAnyMovie.fng
mov dword [esp + 0x128], eax
mov dword [esp + 0x12c], edx
call fcn.004519d0
push edi
mov dword [esp + 0x134], eax
mov dword [esp + 0x138], str.WS_InGameAnyMovie.fng
call fcn.004522f0
add esp, 0x40
push edi
mov dword [esp + 0x100], eax
mov dword [esp + 0x104], edx
call fcn.004519d0
mov dword [esp + 0x10c], edi
mov edi, str.InGameAnyTutorial.fng
push edi
mov dword [esp + 0x10c], eax
call fcn.004522f0
push edi
mov dword [esp + 0x118], eax
mov dword [esp + 0x11c], edx
call fcn.004519d0
push str.FEAnyMovie.fng
mov dword [esp + 0x124], eax
mov dword [esp + 0x128], edi
call fcn.004522f0
push str.FEAnyMovie.fng
mov dword [esp + 0x130], eax
mov dword [esp + 0x134], edx
call fcn.004519d0
push str.WS_FEAnyMovie.fng
mov dword [esp + 0x13c], eax
mov dword [esp + 0x140], str.FEAnyMovie.fng
call fcn.004522f0
push str.WS_FEAnyMovie.fng
mov dword [esp + 0x148], eax
mov dword [esp + 0x14c], edx
call fcn.004519d0
mov dword [esp + 0x150], eax
push str.FEAnyTutorial.fng
mov dword [esp + 0x158], str.WS_FEAnyMovie.fng
call fcn.004522f0
push str.FEAnyTutorial.fng
mov dword [esp + 0x160], eax
mov dword [esp + 0x164], edx
call fcn.004519d0
push edi
mov dword [esp + 0x16c], eax
mov dword [esp + 0x170], str.FEAnyTutorial.fng
call fcn.004522f0
push edi
mov dword [esp + 0x178], eax
mov dword [esp + 0x17c], edx
call fcn.004519d0
push str.LS_EALogo.fng
mov dword [esp + 0x184], eax
mov dword [esp + 0x188], edi
call fcn.004522f0
push str.LS_EALogo.fng
mov dword [esp + 0x190], eax
mov dword [esp + 0x194], edx
call fcn.004519d0
push str.LS_EA_hidef.fng
mov dword [esp + 0x19c], eax
mov dword [esp + 0x1a0], str.LS_EALogo.fng
call fcn.004522f0
push str.LS_EA_hidef.fng
mov dword [esp + 0x1a8], eax
mov dword [esp + 0x1ac], edx
call fcn.004519d0
push str.LS_PSA.fng
mov dword [esp + 0x1b4], eax
mov dword [esp + 0x1b8], str.LS_EA_hidef.fng
call fcn.004522f0
add esp, 0x40
push str.LS_PSA.fng
mov dword [esp + 0x180], eax
mov dword [esp + 0x184], edx
call fcn.004519d0
push str.MW_LS_IntroFMV.fng
mov dword [esp + 0x18c], eax
mov dword [esp + 0x190], str.LS_PSA.fng
call fcn.004522f0
push str.MW_LS_IntroFMV.fng
mov dword [esp + 0x198], eax
mov dword [esp + 0x19c], edx
call fcn.004519d0
push str.MW_LS_AttractFMV.fng
mov dword [esp + 0x1a4], eax
mov dword [esp + 0x1a8], str.MW_LS_IntroFMV.fng
call fcn.004522f0
push str.MW_LS_AttractFMV.fng
mov dword [esp + 0x1b0], eax
mov dword [esp + 0x1b4], edx
call fcn.004519d0
push str.WS_LS_EALogo.fng
mov dword [esp + 0x1bc], eax
mov dword [esp + 0x1c0], str.MW_LS_AttractFMV.fng
call fcn.004522f0
push str.WS_LS_EALogo.fng
mov dword [esp + 0x1c8], eax
mov dword [esp + 0x1cc], edx
call fcn.004519d0
push str.WS_LS_EA_hidef.fng
mov dword [esp + 0x1d4], eax
mov dword [esp + 0x1d8], str.WS_LS_EALogo.fng
call fcn.004522f0
push str.WS_LS_EA_hidef.fng
mov dword [esp + 0x1e0], eax
mov dword [esp + 0x1e4], edx
call fcn.004519d0
push str.WS_LS_PSA.fng
mov dword [esp + 0x1ec], eax
mov dword [esp + 0x1f0], str.WS_LS_EA_hidef.fng
call fcn.004522f0
push str.WS_LS_PSA.fng
mov dword [esp + 0x1f8], eax
mov dword [esp + 0x1fc], edx
call fcn.004519d0
mov dword [esp + 0x200], eax
push str.WS_LS_IntroFMV.fng
mov dword [esp + 0x208], str.WS_LS_PSA.fng
call fcn.004522f0
push str.WS_LS_IntroFMV.fng
mov dword [esp + 0x210], eax
mov dword [esp + 0x214], edx
call fcn.004519d0
push str.WS_MW_LS_AttractFMV.fng
mov dword [esp + 0x21c], eax
mov dword [esp + 0x220], str.WS_LS_IntroFMV.fng
call fcn.004522f0
push str.WS_MW_LS_AttractFMV.fng
mov dword [esp + 0x228], eax
mov dword [esp + 0x22c], edx
call fcn.004519d0
push str.PostRace_MilestoneRewards.fng
mov dword [esp + 0x234], eax
mov dword [esp + 0x238], str.WS_MW_LS_AttractFMV.fng
call fcn.004522f0
add esp, 0x40
push str.PostRace_MilestoneRewards.fng
mov dword [esp + 0x200], eax
mov dword [esp + 0x204], edx
call fcn.004519d0
push str.PostRace_Pursuit.fng
mov dword [esp + 0x20c], eax
mov dword [esp + 0x210], str.PostRace_MilestoneRewards.fng
call fcn.004522f0
push str.PostRace_Pursuit.fng
mov dword [esp + 0x218], eax
mov dword [esp + 0x21c], edx
call fcn.004519d0
push str.Game_StartRace
mov dword [esp + 0x224], eax
mov dword [esp + 0x228], str.PostRace_Pursuit.fng
call fcn.004522f0
push str.Game_StartRace
mov dword [esp + 0x230], eax
mov dword [esp + 0x234], edx
call fcn.004519d0
push str.InGameMilestones.fng
mov dword [esp + 0x23c], eax
mov dword [esp + 0x240], str.Game_StartRace
call fcn.004522f0
push str.InGameMilestones.fng
mov dword [esp + 0x248], eax
mov dword [esp + 0x24c], edx
call fcn.004519d0
push str.InGameBounty.fng
mov dword [esp + 0x254], eax
mov dword [esp + 0x258], str.InGameMilestones.fng
call fcn.004522f0
push str.InGameBounty.fng
mov dword [esp + 0x260], eax
mov dword [esp + 0x264], edx
call fcn.004519d0
push str.InGameRaceSheet.fng
mov dword [esp + 0x26c], eax
mov dword [esp + 0x270], str.InGameBounty.fng
call fcn.004522f0
push str.InGameRaceSheet.fng
mov dword [esp + 0x278], eax
mov dword [esp + 0x27c], edx
call fcn.004519d0
push str.Pause_PC_Controller.fng
mov dword [esp + 0x284], eax
mov dword [esp + 0x288], str.InGameRaceSheet.fng
call fcn.004522f0
push str.Pause_PC_Controller.fng
mov dword [esp + 0x290], eax
mov dword [esp + 0x294], edx
call fcn.004519d0
push 0x89718c
mov dword [esp + 0x29c], eax
mov dword [esp + 0x2a0], str.Pause_PC_Controller.fng
call fcn.004522f0
push 0x89718c
mov dword [esp + 0x2a8], eax
mov dword [esp + 0x2ac], edx
call fcn.004519d0
mov dword [esp + 0x2b0], eax
push esi
mov dword [esp + 0x2b8], 0x89718c
call fcn.00460bf0
add esp, 0x40
or edx, 0xffffffff
xor eax, eax
lea ecx, [esp + 0x14]
cmp ebx, dword [ecx]
je 0x4c2b22
inc eax
add ecx, 0x10
cmp eax, 0x27
jl 0x4c2b13
jmp 0x4c2b24
mov edx, eax
push ebp
mov ebp, dword [0x911fa8]
cmp dword [ebp + 0x70], 1
je 0x4c3557
cmp edx, 0x26
ja case.default.0x4c2b45
movzx eax, byte [edx + 0x4c3724]
jmp dword [eax*4 + 0x4c36fc]
mov eax, dword [esp + 0x284]
push esi
push 1
push eax
mov byte [ebp + 0x28], al
call fcn.004b9080
add esp, 0xc
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x270
ret
mov ecx, dword [esp + 0x284]
push esi
push 1
push ecx
call fcn.004b9080
add esp, 0xc
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x270
ret
mov edi, dword [esp + 0x284]
push esi
push 1
push edi
call fcn.004b9080
push esi
push 0
push edi
call fcn.004b9080
add esp, 0x18
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x270
ret
mov al, byte [ebp + 0x28]
test al, al
jne case.0x4c2b45.4
mov edx, dword [esp + 0x284]
push esi
push 1
push edx
call fcn.004b9080
add esp, 0xc
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x270
ret
mov al, byte [0x8ee5bc]
test al, al
je case.0x4c2b45.4
mov eax, dword [0x8f86f8]
test eax, eax
mov bl, byte [esp + 0x284]
mov edi, dword [0x911fe8]
je 0x4c2d6f
mov eax, edi
and eax, 0x800
je 0x4c2c13
test bl, bl
jne 0x4c2d6f
test eax, eax
jne 0x4c2c1f
test bl, bl
je 0x4c2d6f
test bl, bl
mov eax, dword [0x911ff0]
mov dword [0x911fec], edi
mov dword [0x911ff4], eax
jne 0x4c2c3b
and edi, 0xfffff7ff
jmp 0x4c2c41
or edi, 0x800
xor esi, esi
mov dword [0x911fe8], edi
mov dword [0x911ff0], esi
mov eax, 2
mov edx, 0x8ee574
lea esp, [esp]
lea ecx, [eax - 2]
mov ebp, 1
shl ebp, cl
test edi, ebp
je 0x4c2c71
or esi, dword [edx - 4]
lea ecx, [eax - 1]
mov ebp, 1
shl ebp, cl
test edi, ebp
je 0x4c2c81
or esi, dword [edx]
mov ebp, 1
mov ecx, eax
shl ebp, cl
test edi, ebp
je 0x4c2c91
or esi, dword [edx + 4]
lea ecx, [eax + 1]
mov ebp, 1
shl ebp, cl
test edi, ebp
je 0x4c2ca2
or esi, dword [edx + 8]
lea ecx, [eax + 2]
mov ebp, 1
shl ebp, cl
test edi, ebp
je 0x4c2cb3
or esi, dword [edx + 0xc]
lea ecx, [eax + 3]
mov ebp, 1
shl ebp, cl
test edi, ebp
je 0x4c2cc4
or esi, dword [edx + 0x10]
add eax, 6
lea ecx, [eax - 2]
add edx, 0x18
cmp ecx, 0x12
jl 0x4c2c60
mov dword [0x911ff0], esi
xor ebp, ebp
lea ebx, [ebx]
mov ecx, ebp
mov edx, 1
shl edx, cl
mov ecx, dword [0x911ff4]
mov eax, esi
xor eax, ecx
test edx, eax
je 0x4c2d63
mov ecx, dword [0x911fa8]
mov eax, dword [ecx + 0x80]
test eax, eax
je 0x4c2d63
test edx, esi
mov ecx, ebp
je 0x4c2d33
sub ecx, 0
je 0x4c2d22
dec ecx
je 0x4c2d1d
dec ecx
jne 0x4c2d63
mov eax, dword [eax + 0x1c]
jmp 0x4c2d25
mov eax, dword [eax + 0x14]
jmp 0x4c2d25
mov eax, dword [eax + 0x18]
test eax, eax
je 0x4c2d63
lea ecx, [eax + 4]
call fcn.004b24f0
jmp 0x4c2d57
sub ecx, 0
je 0x4c2d48
dec ecx
je 0x4c2d43
dec ecx
jne 0x4c2d63
mov eax, dword [eax + 0x1c]
jmp 0x4c2d4b
mov eax, dword [eax + 0x14]
jmp 0x4c2d4b
mov eax, dword [eax + 0x18]
test eax, eax
je 0x4c2d63
lea ecx, [eax + 4]
call fcn.004b2510
mov edi, dword [0x911fe8]
mov esi, dword [0x911ff0]
inc ebp
cmp ebp, 0xd
jl 0x4c2ce0
jmp 0x4c2d75
mov esi, dword [0x911ff0]
mov al, byte [0x8ee5bc]
test al, al
je case.0x4c2b45.4
mov eax, dword [0x911fa8]
test eax, eax
je case.0x4c2b45.4
mov eax, dword [0x8f86f8]
test eax, eax
je case.0x4c2b45.4
mov eax, edi
and eax, 0x1000
je 0x4c2dad
test bl, bl
jne case.0x4c2b45.4
test eax, eax
jne 0x4c2db9
test bl, bl
je case.0x4c2b45.4
test bl, bl
mov dword [0x911fec], edi
mov dword [0x911ff4], esi
jne 0x4c2dd1
and edi, 0xffffefff
jmp 0x4c2dd7
or edi, 0x1000
xor esi, esi
mov dword [0x911fe8], edi
mov dword [0x911ff0], esi
mov eax, 2
mov edx, 0x8ee574
nop
lea ecx, [eax - 2]
mov ebx, 1
shl ebx, cl
test edi, ebx
je 0x4c2e01
or esi, dword [edx - 4]
lea ecx, [eax - 1]
mov ebx, 1
shl ebx, cl
test edi, ebx
je 0x4c2e11
or esi, dword [edx]
mov ebx, 1
mov ecx, eax
shl ebx, cl
test edi, ebx
je 0x4c2e21
or esi, dword [edx + 4]
lea ecx, [eax + 1]
mov ebx, 1
shl ebx, cl
test edi, ebx
je 0x4c2e32
or esi, dword [edx + 8]
lea ecx, [eax + 2]
mov ebx, 1
shl ebx, cl
test edi, ebx
je 0x4c2e43
or esi, dword [edx + 0xc]
lea ecx, [eax + 3]
mov ebx, 1
shl ebx, cl
test edi, ebx
je 0x4c2e54
or esi, dword [edx + 0x10]
add eax, 6
lea ecx, [eax - 2]
add edx, 0x18
cmp ecx, 0x12
jl 0x4c2df0
mov dword [0x911ff0], esi
xor edi, edi
lea ebx, [ebx]
mov ebx, dword [0x911ff4]
mov edx, 1
mov ecx, edi
shl edx, cl
mov eax, esi
xor eax, ebx
test edx, eax
je 0x4c2eed
mov ecx, dword [0x911fa8]
mov eax, dword [ecx + 0x80]
test eax, eax
je 0x4c2eed
test edx, esi
mov ecx, edi
je 0x4c2ec3
sub ecx, 0
je 0x4c2eb2
dec ecx
je 0x4c2ead
dec ecx
jne 0x4c2eed
mov eax, dword [eax + 0x1c]
jmp 0x4c2eb5
mov eax, dword [eax + 0x14]
jmp 0x4c2eb5
mov eax, dword [eax + 0x18]
test eax, eax
je 0x4c2eed
lea ecx, [eax + 4]
call fcn.004b24f0
jmp 0x4c2ee7
sub ecx, 0
je 0x4c2ed8
dec ecx
je 0x4c2ed3
dec ecx
jne 0x4c2eed
mov eax, dword [eax + 0x1c]
jmp 0x4c2edb
mov eax, dword [eax + 0x14]
jmp 0x4c2edb
mov eax, dword [eax + 0x18]
test eax, eax
je 0x4c2eed
lea ecx, [eax + 4]
call fcn.004b2510
mov esi, dword [0x911ff0]
inc edi
cmp edi, 0xd
jl 0x4c2e70
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x270
ret
mov al, byte [esp + 0x284]
test al, al
mov al, byte [0x8ee5bc]
je 0x4c307c
test al, al
je case.0x4c2b45.4
mov eax, dword [0x8f86f8]
test eax, eax
je case.0x4c2b45.4
mov edx, dword [0x911fe8]
test dh, 8
jne case.0x4c2b45.4
mov eax, dword [0x911ff0]
mov dword [0x911fec], edx
or edx, 0x800
xor edi, edi
mov dword [0x911ff4], eax
mov dword [0x911fe8], edx
mov dword [0x911ff0], edi
mov eax, 2
mov esi, 0x8ee574
jmp 0x4c2f70
lea ecx, [eax - 2]
mov ebx, 1
shl ebx, cl
test edx, ebx
je 0x4c2f81
or edi, dword [esi - 4]
lea ecx, [eax - 1]
mov ebx, 1
shl ebx, cl
test edx, ebx
je 0x4c2f91
or edi, dword [esi]
mov ebx, 1
mov ecx, eax
shl ebx, cl
test edx, ebx
je 0x4c2fa1
or edi, dword [esi + 4]
lea ecx, [eax + 1]
mov ebx, 1
shl ebx, cl
test edx, ebx
je 0x4c2fb2
or edi, dword [esi + 8]
lea ecx, [eax + 2]
mov ebx, 1
shl ebx, cl
test edx, ebx
je 0x4c2fc3
or edi, dword [esi + 0xc]
lea ecx, [eax + 3]
mov ebx, 1
shl ebx, cl
test edx, ebx
je 0x4c2fd4
or edi, dword [esi + 0x10]
add eax, 6
lea ecx, [eax - 2]
add esi, 0x18
cmp ecx, 0x12
jl 0x4c2f70
mov dword [0x911ff0], edi
xor esi, esi
jmp 0x4c2ff2
mov ebp, dword [0x911fa8]
mov ebx, dword [0x911ff4]
mov edx, 1
mov ecx, esi
shl edx, cl
mov eax, edi
xor eax, ebx
test edx, eax
je 0x4c3067
mov eax, dword [ebp + 0x80]
test eax, eax
je 0x4c3067
test edi, edx
je 0x4c303d
sub ecx, 0
je 0x4c302c
dec ecx
je 0x4c3027
dec ecx
jne 0x4c3067
mov eax, dword [eax + 0x1c]
jmp 0x4c302f
mov eax, dword [eax + 0x14]
jmp 0x4c302f
mov eax, dword [eax + 0x18]
test eax, eax
je 0x4c3067
lea ecx, [eax + 4]
call fcn.004b24f0
jmp 0x4c3061
sub ecx, 0
je 0x4c3052
dec ecx
je 0x4c304d
dec ecx
jne 0x4c3067
mov eax, dword [eax + 0x1c]
jmp 0x4c3055
mov eax, dword [eax + 0x14]
jmp 0x4c3055
mov eax, dword [eax + 0x18]
test eax, eax
je 0x4c3067
lea ecx, [eax + 4]
call fcn.004b2510
mov edi, dword [0x911ff0]
inc esi
cmp esi, 0xd
jl 0x4c2fec
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x270
ret
test al, al
je case.0x4c2b45.4
mov eax, dword [0x8f86f8]
test eax, eax
mov edx, dword [0x911fe8]
je 0x4c31df
test dh, 8
je 0x4c31df
mov ecx, dword [0x911ff0]
mov dword [0x911fec], edx
and edx, 0xfffff7ff
xor edi, edi
mov dword [0x911ff4], ecx
mov dword [0x911fe8], edx
mov dword [0x911ff0], edi
mov eax, 2
mov esi, 0x8ee574
lea ecx, [eax - 2]
mov ebx, 1
shl ebx, cl
test edx, ebx
je 0x4c30e1
or edi, dword [esi - 4]
lea ecx, [eax - 1]
mov ebx, 1
shl ebx, cl
test edx, ebx
je 0x4c30f1
or edi, dword [esi]
mov ebx, 1
mov ecx, eax
shl ebx, cl
test edx, ebx
je 0x4c3101
or edi, dword [esi + 4]
lea ecx, [eax + 1]
mov ebx, 1
shl ebx, cl
test edx, ebx
je 0x4c3112
or edi, dword [esi + 8]
lea ecx, [eax + 2]
mov ebx, 1
shl ebx, cl
test edx, ebx
je 0x4c3123
or edi, dword [esi + 0xc]
lea ecx, [eax + 3]
mov ebx, 1
shl ebx, cl
test edx, ebx
je 0x4c3134
or edi, dword [esi + 0x10]
add eax, 6
lea ecx, [eax - 2]
add esi, 0x18
cmp ecx, 0x12
jl 0x4c30d0
mov dword [0x911ff0], edi
xor ebx, ebx
lea ebx, [ebx]
mov ecx, ebx
mov esi, 1
shl esi, cl
mov ecx, dword [0x911ff4]
mov eax, edi
xor eax, ecx
test esi, eax
je 0x4c31cd
mov eax, dword [ebp + 0x80]
test eax, eax
je 0x4c31cd
test edi, esi
mov ecx, ebx
je 0x4c319d
sub ecx, 0
je 0x4c318c
dec ecx
je 0x4c3187
dec ecx
jne 0x4c31cd
mov eax, dword [eax + 0x1c]
jmp 0x4c318f
mov eax, dword [eax + 0x14]
jmp 0x4c318f
mov eax, dword [eax + 0x18]
test eax, eax
je 0x4c31cd
lea ecx, [eax + 4]
call fcn.004b24f0
jmp 0x4c31c1
sub ecx, 0
je 0x4c31b2
dec ecx
je 0x4c31ad
dec ecx
jne 0x4c31cd
mov eax, dword [eax + 0x1c]
jmp 0x4c31b5
mov eax, dword [eax + 0x14]
jmp 0x4c31b5
mov eax, dword [eax + 0x18]
test eax, eax
je 0x4c31cd
lea ecx, [eax + 4]
call fcn.004b2510
mov edx, dword [0x911fe8]
mov edi, dword [0x911ff0]
mov ebp, dword [0x911fa8]
inc ebx
cmp ebx, 0xd
jl 0x4c3150
jmp 0x4c31e5
mov edi, dword [0x911ff0]
mov al, byte [0x8ee5bc]
test al, al
je case.0x4c2b45.4
test ebp, ebp
je case.0x4c2b45.4
mov eax, dword [0x8f86f8]
test eax, eax
je case.0x4c2b45.4
test dh, 0x10
jne case.0x4c2b45.4
mov dword [0x911fec], edx
or edx, 0x1000
mov dword [0x911ff4], edi
xor edi, edi
mov dword [0x911fe8], edx
mov dword [0x911ff0], edi
mov eax, 2
mov esi, 0x8ee574
lea ebx, [ebx]
lea ecx, [eax - 2]
mov ebx, 1
shl ebx, cl
test edx, ebx
je 0x4c3251
or edi, dword [esi - 4]
lea ecx, [eax - 1]
mov ebx, 1
shl ebx, cl
test edx, ebx
je 0x4c3261
or edi, dword [esi]
mov ebx, 1
mov ecx, eax
shl ebx, cl
test edx, ebx
je 0x4c3271
or edi, dword [esi + 4]
lea ecx, [eax + 1]
mov ebx, 1
shl ebx, cl
test edx, ebx
je 0x4c3282
or edi, dword [esi + 8]
lea ecx, [eax + 2]
mov ebx, 1
shl ebx, cl
test edx, ebx
je 0x4c3293
or edi, dword [esi + 0xc]
lea ecx, [eax + 3]
mov ebx, 1
shl ebx, cl
test edx, ebx
je 0x4c32a4
or edi, dword [esi + 0x10]
add eax, 6
lea ecx, [eax - 2]
add esi, 0x18
cmp ecx, 0x12
jl 0x4c3240
mov dword [0x911ff0], edi
xor esi, esi
jmp 0x4c32c2
mov ebp, dword [0x911fa8]
mov ebx, dword [0x911ff4]
mov edx, 1
mov ecx, esi
shl edx, cl
mov eax, edi
xor eax, ebx
test edx, eax
je 0x4c3337
mov eax, dword [ebp + 0x80]
test eax, eax
je 0x4c3337
test edi, edx
je 0x4c330d
sub ecx, 0
je 0x4c32fc
dec ecx
je 0x4c32f7
dec ecx
jne 0x4c3337
mov eax, dword [eax + 0x1c]
jmp 0x4c32ff
mov eax, dword [eax + 0x14]
jmp 0x4c32ff
mov eax, dword [eax + 0x18]
test eax, eax
je 0x4c3337
lea ecx, [eax + 4]
call fcn.004b24f0
jmp 0x4c3331
sub ecx, 0
je 0x4c3322
dec ecx
je 0x4c331d
dec ecx
jne 0x4c3337
mov eax, dword [eax + 0x1c]
jmp 0x4c3325
mov eax, dword [eax + 0x14]
jmp 0x4c3325
mov eax, dword [eax + 0x18]
test eax, eax
je 0x4c3337
lea ecx, [eax + 4]
call fcn.004b2510
mov edi, dword [0x911ff0]
inc esi
cmp esi, 0xd
jl 0x4c32bc
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x270
ret
mov ecx, dword [esp + 0x284]
push esi
push 5
push ecx
call fcn.004b9080
add esp, 0xc
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x270
ret
mov al, byte [0x8ee5bc]
test al, al
je case.0x4c2b45.4
mov eax, dword [0x8f86f8]
test eax, eax
je case.0x4c2b45.4
mov edx, dword [0x911fe8]
mov cl, byte [esp + 0x284]
mov eax, edx
and eax, 0x1000
je 0x4c33a2
test cl, cl
jne case.0x4c2b45.4
test eax, eax
jne 0x4c33ae
test cl, cl
je case.0x4c2b45.4
test cl, cl
mov eax, dword [0x911ff0]
mov dword [0x911fec], edx
mov dword [0x911ff4], eax
jne 0x4c33ca
and edx, 0xffffefff
jmp 0x4c33d0
or edx, 0x1000
xor edi, edi
mov dword [0x911fe8], edx
mov dword [0x911ff0], edi
mov eax, 2
mov esi, 0x8ee574
jmp 0x4c33f0
lea ecx, [eax - 2]
mov ebx, 1
shl ebx, cl
test edx, ebx
je 0x4c3401
or edi, dword [esi - 4]
lea ecx, [eax - 1]
mov ebx, 1
shl ebx, cl
test edx, ebx
je 0x4c3411
or edi, dword [esi]
mov ebx, 1
mov ecx, eax
shl ebx, cl
test edx, ebx
je 0x4c3421
or edi, dword [esi + 4]
lea ecx, [eax + 1]
mov ebx, 1
shl ebx, cl
test edx, ebx
je 0x4c3432
or edi, dword [esi + 8]
lea ecx, [eax + 2]
mov ebx, 1
shl ebx, cl
test edx, ebx
je 0x4c3443
or edi, dword [esi + 0xc]
lea ecx, [eax + 3]
mov ebx, 1
shl ebx, cl
test edx, ebx
je 0x4c3454
or edi, dword [esi + 0x10]
add eax, 6
lea ecx, [eax - 2]
add esi, 0x18
cmp ecx, 0x12
jl 0x4c33f0
mov dword [0x911ff0], edi
xor esi, esi
jmp 0x4c3472
mov ebp, dword [0x911fa8]
mov ebx, dword [0x911ff4]
mov edx, 1
mov ecx, esi
shl edx, cl
mov eax, edi
xor eax, ebx
test edx, eax
je 0x4c34e7
mov eax, dword [ebp + 0x80]
test eax, eax
je 0x4c34e7
test edi, edx
je 0x4c34bd
sub ecx, 0
je 0x4c34ac
dec ecx
je 0x4c34a7
dec ecx
jne 0x4c34e7
mov eax, dword [eax + 0x1c]
jmp 0x4c34af
mov eax, dword [eax + 0x14]
jmp 0x4c34af
mov eax, dword [eax + 0x18]
test eax, eax
je 0x4c34e7
lea ecx, [eax + 4]
call fcn.004b24f0
jmp 0x4c34e1
sub ecx, 0
je 0x4c34d2
dec ecx
je 0x4c34cd
dec ecx
jne 0x4c34e7
mov eax, dword [eax + 0x1c]
jmp 0x4c34d5
mov eax, dword [eax + 0x14]
jmp 0x4c34d5
mov eax, dword [eax + 0x18]
test eax, eax
je 0x4c34e7
lea ecx, [eax + 4]
call fcn.004b2510
mov edi, dword [0x911ff0]
inc esi
cmp esi, 0xd
jl 0x4c346c
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x270
ret
push 1
call fcn.006ff2d0
add esp, 4
test eax, eax
je 0x4c351b
push 1
call fcn.006ff2d0
add esp, 4
mov ecx, eax
call fcn.006ff7b0
mov ecx, dword [esp + 0x284]
push esi
push 4
push ecx
call fcn.004b9080
add esp, 0xc
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x270
ret
mov edx, dword [esp + 0x284]
push esi
push 4
push edx
call fcn.004b9080
add esp, 0xc
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x270
ret
cmp edx, 0xa
je 0x4c3565
cmp edx, 0xe
jl case.0x4c2b45.4
mov al, byte [0x8ee5bc]
test al, al
je case.0x4c2b45.4
mov eax, dword [0x8f86f8]
test eax, eax
je case.0x4c2b45.4
mov edx, dword [0x911fe8]
mov cl, byte [esp + 0x284]
mov eax, edx
and eax, 0x800
je 0x4c359d
test cl, cl
jne case.0x4c2b45.4
test eax, eax
jne 0x4c35a9
test cl, cl
je case.0x4c2b45.4
test cl, cl
mov eax, dword [0x911ff0]
mov dword [0x911fec], edx
mov dword [0x911ff4], eax
jne 0x4c35c5
and edx, 0xfffff7ff
jmp 0x4c35cb
or edx, 0x800
xor edi, edi
mov dword [0x911fe8], edx
mov dword [0x911ff0], edi
mov eax, 2
mov esi, 0x8ee574
lea ecx, [eax - 2]
mov ebx, 1
shl ebx, cl
test edx, ebx
je 0x4c35f4
or edi, dword [esi - 4]
lea ecx, [eax - 1]
mov ebx, 1
shl ebx, cl
test edx, ebx
je 0x4c3604
or edi, dword [esi]
mov ebx, 1
mov ecx, eax
shl ebx, cl
test edx, ebx
je 0x4c3614
or edi, dword [esi + 4]
lea ecx, [eax + 1]
mov ebx, 1
shl ebx, cl
test edx, ebx
je 0x4c3625
or edi, dword [esi + 8]
lea ecx, [eax + 2]
mov ebx, 1
shl ebx, cl
test edx, ebx
je 0x4c3636
or edi, dword [esi + 0xc]
lea ecx, [eax + 3]
mov ebx, 1
shl ebx, cl
test edx, ebx
je 0x4c3647
or edi, dword [esi + 0x10]
add eax, 6
lea ecx, [eax - 2]
add esi, 0x18
cmp ecx, 0x12
jl 0x4c35e3
mov dword [0x911ff0], edi
xor esi, esi
jmp 0x4c3670
mov ebp, dword [0x911fa8]
jmp 0x4c3670
mov ebx, dword [0x911ff4]
mov edx, 1
mov ecx, esi
shl edx, cl
mov eax, edi
xor eax, ebx
test edx, eax
je 0x4c36e5
mov eax, dword [ebp + 0x80]
test eax, eax
je 0x4c36e5
test edi, edx
je 0x4c36bb
sub ecx, 0
je 0x4c36aa
dec ecx
je 0x4c36a5
dec ecx
jne 0x4c36e5
mov eax, dword [eax + 0x1c]
jmp 0x4c36ad
mov eax, dword [eax + 0x14]
jmp 0x4c36ad
mov eax, dword [eax + 0x18]
test eax, eax
je 0x4c36e5
lea ecx, [eax + 4]
call fcn.004b24f0
jmp 0x4c36df
sub ecx, 0
je 0x4c36d0
dec ecx
je 0x4c36cb
dec ecx
jne 0x4c36e5
mov eax, dword [eax + 0x1c]
jmp 0x4c36d3
mov eax, dword [eax + 0x14]
jmp 0x4c36d3
mov eax, dword [eax + 0x18]
test eax, eax
je 0x4c36e5
lea ecx, [eax + 4]
call fcn.004b2510
mov edi, dword [0x911ff0]
inc esi
cmp esi, 0xd
jl 0x4c365f
pop ebp
pop edi
pop esi
pop ebx
add esp, 0x270
ret