Function at 0x401000
Capabilities:
Parse pe header

Disassembly:
push 0x4a0
push 0
push 0x4779f8
call fcn.004060b0
add esp, 0xc
push 0
call fcn.004060b6
mov dword [0x4779fc], eax
push 0
push 0x1000
push 0
call fcn.004060bc
mov dword [0x4779f8], eax
push 0x475263
pop dword [0x477a00]
call fcn.0040a970
call fcn.0040a87b
call fcn.00409f20
call fcn.00408c78
call fcn.00408432
call fcn.0040830a
call fcn.00407d4f
call fcn.00407820
call fcn.00407680
call fcn.00406a89
call fcn.0040694d
call fcn.00406828
push 5
push 0x477e50
push 0
mov edx, dword [0x477e50]
call fcn.00406000
mov eax, 0x1a0b
push 4
call fcn.00406020
mov dword [0x477a04], 1
mov eax, 0x258
cmp eax, dword [0x477a04]
jl 0x4010ec
mov eax, 8
call fcn.00407509
push eax
mov ebx, dword [0x477a04]
mov ebp, dword [0x477e50]
shl ebx, 2
pop dword [ebp + ebx]
inc dword [0x477a04]
jmp 0x4010b9
mov dword [0x477a04], 1
mov eax, 0x1f4
cmp eax, dword [0x477a04]
jl 0x401129
mov eax, 4
call fcn.00407509
push eax
mov ebx, dword [0x477a04]
mov ebp, dword [0x477e50]
shl ebx, 2
pop dword [ebp + ebx]
inc dword [0x477a04]
jmp 0x4010f6
mov dword [0x477a04], 1
mov eax, 0x190
cmp eax, dword [0x477a04]
jl 0x401166
mov eax, 4
call fcn.00407509
push eax
mov ebx, dword [0x477a04]
mov ebp, dword [0x477e50]
shl ebx, 2
pop dword [ebp + ebx]
inc dword [0x477a04]
jmp 0x401133
mov dword [0x477a04], 1
mov eax, 0x12c
cmp eax, dword [0x477a04]
jl 0x4011a3
mov eax, 4
call fcn.00407509
push eax
mov ebx, dword [0x477a04]
mov ebp, dword [0x477e50]
shl ebx, 2
pop dword [ebp + ebx]
inc dword [0x477a04]
jmp 0x401170
mov dword [0x477a04], 1
mov eax, 0x190
cmp eax, dword [0x477a04]
jl 0x4011e0
mov eax, 4
call fcn.00407509
push eax
mov ebx, dword [0x477a04]
mov ebp, dword [0x477e50]
shl ebx, 2
pop dword [ebp + ebx]
inc dword [0x477a04]
jmp 0x4011ad
mov dword [0x477a04], 1
mov eax, 0x1f4
cmp eax, dword [0x477a04]
jl 0x40121d
mov eax, 4
call fcn.00407509
push eax
mov ebx, dword [0x477a04]
mov ebp, dword [0x477e50]
shl ebx, 2
pop dword [ebp + ebx]
inc dword [0x477a04]
jmp 0x4011ea
mov dword [0x477a04], 1
mov eax, 0x258
cmp eax, dword [0x477a04]
jl 0x40125a
mov eax, 4
call fcn.00407509
push eax
mov ebx, dword [0x477a04]
mov ebp, dword [0x477e50]
shl ebx, 2
pop dword [ebp + ebx]
inc dword [0x477a04]
jmp 0x401227
mov dword [0x477a04], 1
mov eax, 0x258
cmp eax, dword [0x477a04]
jl 0x401297
mov eax, 4
call fcn.00407509
push eax
mov ebx, dword [0x477a04]
mov ebp, dword [0x477e50]
shl ebx, 2
pop dword [ebp + ebx]
inc dword [0x477a04]
jmp 0x401264
mov dword [0x477a04], 1
mov eax, 0x1f4
cmp eax, dword [0x477a04]
jl 0x4012d4
mov eax, 4
call fcn.00407509
push eax
mov ebx, dword [0x477a04]
mov ebp, dword [0x477e50]
shl ebx, 2
pop dword [ebp + ebx]
inc dword [0x477a04]
jmp 0x4012a1
mov dword [0x477a04], 1
mov eax, 0x190
cmp eax, dword [0x477a04]
jl 0x401311
mov eax, 4
call fcn.00407509
push eax
mov ebx, dword [0x477a04]
mov ebp, dword [0x477e50]
shl ebx, 2
pop dword [ebp + ebx]
inc dword [0x477a04]
jmp 0x4012de
mov dword [0x477a04], 1
mov eax, 0x12c
cmp eax, dword [0x477a04]
jl 0x40134e
mov eax, 4
call fcn.00407509
push eax
mov ebx, dword [0x477a04]
mov ebp, dword [0x477e50]
shl ebx, 2
pop dword [ebp + ebx]
inc dword [0x477a04]
jmp 0x40131b
mov dword [0x477a04], 1
mov eax, 0xc8
cmp eax, dword [0x477a04]
jl 0x40138b
mov eax, 4
call fcn.00407509
push eax
mov ebx, dword [0x477a04]
mov ebp, dword [0x477e50]
shl ebx, 2
pop dword [ebp + ebx]
inc dword [0x477a04]
jmp 0x401358
call fcn.00407c90
mov eax, dword [0x478064]
push eax
push eax
call fcn.00409dcd
lea ecx, [0x477a08]
pop edx
call fcn.00406070
push dword [0x478064]
mov edx, dword [0x477a08]
push dword [0x478064]
call fcn.0040a9c0
mov edx, str.0.mp3
call fcn.0040a9c0
inc dword [0x478064]
push 0
mov edx, dword [0x4767e0]
add dword [esp + 4], edx
call fcn.0040a050
pop dword [0x478064]
mov ebp, 0x469d03
mov ebx, ebp
mov ebp, 0x468063
sub ebx, ebp
push ebx
mov ebp, 0x468063
push ebp
push 0
call fcn.0040a130
push 0
call fcn.00409eb0
push dword [0x478064]
mov edx, dword [0x477a08]
push dword [0x478064]
call fcn.0040a9c0
mov edx, str.1.mp3
call fcn.0040a9c0
inc dword [0x478064]
push 0
mov edx, dword [0x4767e0]
add dword [esp + 4], edx
call fcn.0040a050
pop dword [0x478064]
mov ebp, 0x46b823
mov ebx, ebp
mov ebp, 0x469d03
sub ebx, ebp
push ebx
mov ebp, 0x469d03
push ebp
push 0
call fcn.0040a130
push 0
call fcn.00409eb0
push dword [0x478064]
mov edx, dword [0x477a08]
push dword [0x478064]
call fcn.0040a9c0
mov edx, str.3.mp3
call fcn.0040a9c0
inc dword [0x478064]
push 0
mov edx, dword [0x4767e0]
add dword [esp + 4], edx
call fcn.0040a050
pop dword [0x478064]
mov ebp, 0x46e843
mov ebx, ebp
mov ebp, 0x46b823
sub ebx, ebp
push ebx
mov ebp, 0x46b823
push ebp
push 0
call fcn.0040a130
push 0
call fcn.00409eb0
push dword [0x478064]
mov edx, dword [0x477a08]
push dword [0x478064]
call fcn.0040a9c0
mov edx, str.4.mp3
call fcn.0040a9c0
inc dword [0x478064]
push 0
mov edx, dword [0x4767e0]
add dword [esp + 4], edx
call fcn.0040a050
pop dword [0x478064]
mov ebp, 0x472a63
mov ebx, ebp
mov ebp, 0x46e843
sub ebx, ebp
push ebx
mov ebp, 0x46e843
push ebp
push 0
call fcn.0040a130
push 0
call fcn.00409eb0
push dword [0x478064]
mov edx, dword [0x477a08]
push dword [0x478064]
call fcn.0040a9c0
mov edx, str.5.mp3
call fcn.0040a9c0
inc dword [0x478064]
push 0
mov edx, dword [0x4767e0]
add dword [esp + 4], edx
call fcn.0040a050
pop dword [0x478064]
mov ebp, 0x473e03
mov ebx, ebp
mov ebp, 0x472a63
sub ebx, ebp
push ebx
mov ebp, 0x472a63
push ebp
push 0
call fcn.0040a130
push 0
call fcn.00409eb0
push dword [0x478064]
mov edx, dword [0x477a08]
push dword [0x478064]
call fcn.0040a9c0
mov edx, str.6.mp3
call fcn.0040a9c0
inc dword [0x478064]
push 0
mov edx, dword [0x4767e0]
add dword [esp + 4], edx
call fcn.0040a050
pop dword [0x478064]
mov ebp, 0x475263
mov ebx, ebp
mov ebp, 0x473e03
sub ebx, ebp
push ebx
mov ebp, 0x473e03
push ebp
push 0
call fcn.0040a130
push 0
call fcn.00409eb0
call fcn.00406ff6
push dword [0x478064]
mov edx, dword [0x477a08]
push dword [0x478064]
call fcn.0040a9c0
mov edx, str.0.mp3
call fcn.0040a9c0
inc dword [0x478064]
push 0
mov edx, dword [0x4767e0]
add dword [esp + 4], edx
call fcn.0040702b
pop dword [0x478064]
mov dword [0x477a0c], eax
push dword [0x478064]
mov edx, dword [0x477a08]
push dword [0x478064]
call fcn.0040a9c0
mov edx, str.1.mp3
call fcn.0040a9c0
inc dword [0x478064]
push 1
mov edx, dword [0x4767e0]
add dword [esp + 4], edx
call fcn.0040702b
pop dword [0x478064]
mov dword [0x477a0c], eax
push dword [0x478064]
mov edx, dword [0x477a08]
push dword [0x478064]
call fcn.0040a9c0
mov edx, str.3.mp3
call fcn.0040a9c0
inc dword [0x478064]
push 3
mov edx, dword [0x4767e0]
add dword [esp + 4], edx
call fcn.0040702b
pop dword [0x478064]
mov dword [0x477a0c], eax
push dword [0x478064]
mov edx, dword [0x477a08]
push dword [0x478064]
call fcn.0040a9c0
mov edx, str.4.mp3
call fcn.0040a9c0
inc dword [0x478064]
push 4
mov edx, dword [0x4767e0]
add dword [esp + 4], edx
call fcn.0040702b
pop dword [0x478064]
mov dword [0x477a0c], eax
push dword [0x478064]
mov edx, dword [0x477a08]
push dword [0x478064]
call fcn.0040a9c0
mov edx, str.5.mp3
call fcn.0040a9c0
inc dword [0x478064]
push 5
mov edx, dword [0x4767e0]
add dword [esp + 4], edx
call fcn.0040702b
pop dword [0x478064]
mov dword [0x477a0c], eax
push dword [0x478064]
mov edx, dword [0x477a08]
push dword [0x478064]
call fcn.0040a9c0
mov edx, str.6.mp3
call fcn.0040a9c0
inc dword [0x478064]
push 6
mov edx, dword [0x4767e0]
add dword [esp + 4], edx
call fcn.0040702b
pop dword [0x478064]
mov dword [0x477a0c], eax
call fcn.004060c2
and eax, eax
je 0x4017dd
push 0x75009553
inc ecx
ret
push 0x12c
call fcn.004075b7
call fcn.00405de1
push str.Authenticating_Trainer......
push 0
push 8
call fcn.00406937
mov eax, dword [0x478064]
push eax
push eax
mov eax, dword [0x478064]
push eax
push eax
call fcn.00406aa5
inc dword [0x478064]
mov edx, dword [0x4767e0]
add dword [esp], edx
call fcn.004075bd
lea ecx, [0x477a24]
pop edx
call fcn.00406070
mov edx, dword [0x477a24]
push dword [0x478064]
call fcn.0040a9c0
lea ecx, [0x477a28]
pop edx
call fcn.00406070
call fcn.0041bda8
mov dword [0x477a2c], eax
push 0x477a30
push dword [0x477a2c]
call fcn.0041bdae
push dword [0x477a30]
push dword [0x477a38]
push 0x1f0fff
call fcn.004060c8
mov dword [0x477a34], eax
mov eax, dword [0x477a30]
mov dword [0x477a2c], eax
push 0x3e8
call fcn.004076b0
mov dword [0x477a3c], eax
mov edx, dword [0x477a28]
push dword [0x478064]
call fcn.0040a9c0
lea ecx, [0x477a40]
pop edx
call fcn.00406070
mov eax, dword [0x477a48]
mov dword [0x477a44], eax
mov dword [0x477a4c], 0x45a2a5
push 5
push 0x477e58
push 0
mov edx, dword [0x477e58]
call fcn.00406000
mov eax, 0x15
push 4
call fcn.00406020
push 5
push 0x477e60
push 0
mov edx, dword [0x477e60]
call fcn.00406000
mov eax, 0x15
push 4
call fcn.00406020
push 5
push 0x477e68
push 0
mov edx, dword [0x477e68]
call fcn.00406000
mov eax, 0x15
push 4
call fcn.00406020
push 5
push 0x477e70
push 0
mov edx, dword [0x477e70]
call fcn.00406000
mov eax, 0x15
push 4
call fcn.00406020
push 5
push 0x477e78
push 0
mov edx, dword [0x477e78]
call fcn.00406000
mov eax, 0x15
push 4
call fcn.00406020
push 0x3e8
call fcn.004076b0
mov dword [0x477a3c], eax
push 0x3e8
call fcn.004076b0
mov dword [0x477a50], eax
mov dword [0x477a04], 1
mov eax, 0x14
cmp eax, dword [0x477a04]
jl 0x401a1e
mov ebx, dword [0x477a04]
mov ebp, dword [0x477e60]
shl ebx, 2
mov dword [ebp + ebx], 1
mov ebx, dword [0x477a04]
mov ebp, dword [0x477e68]
shl ebx, 2
mov dword [ebp + ebx], 1
mov ebx, dword [0x477a04]
mov ebp, dword [0x477e70]
shl ebx, 2
mov dword [ebp + ebx], 1
inc dword [0x477a04]
jmp 0x4019c4
mov edx, str.Template
lea ecx, [0x477a6c]
call fcn.00406088
mov eax, dword [0x478064]
push eax
push eax
call fcn.00409dcd
lea ecx, [0x477a54]
pop edx
call fcn.00406070
call fcn.00404486
push dword [0x478064]
mov edx, dword [0x477a54]
push dword [0x478064]
call fcn.0040a9c0
mov edx, str.CH.dll
call fcn.0040a9c0
inc dword [0x478064]
push 0
mov edx, dword [0x4767e0]
add dword [esp + 4], edx
call fcn.0040a050
pop dword [0x478064]
and eax, eax
je 0x401abb
mov ebp, 0x475e66
mov ebx, ebp
mov ebp, 0x475266
sub ebx, ebp
push ebx
mov ebp, 0x475266
push ebp
push 0
call fcn.0040a130
push 0
call fcn.00409eb0
jmp 0x401abb
push dword [0x478064]
mov edx, dword [0x477a54]
push dword [0x478064]
call fcn.0040a9c0
mov edx, str.help.txt
call fcn.0040a9c0
inc dword [0x478064]
push 0
mov edx, dword [0x4767e0]
add dword [esp + 4], edx
call fcn.0040a050
pop dword [0x478064]
and eax, eax
je 0x401b2b
mov ebp, 0x4767e0
mov ebx, ebp
mov ebp, 0x475e66
sub ebx, ebp
push ebx
mov ebp, 0x475e66
push ebp
push 0
call fcn.0040a130
push 0
call fcn.00409eb0
jmp 0x401b3a
push str.Could_not_create_HELP.TXT_file.
push str.Error
call fcn.0040698a
push str.CH_Trainer_Keys.dat
push 0
call fcn.0040a110
mov dword [0x477a0c], eax
mov ebx, dword [0x477a0c]
and ebx, ebx
jle 0x401b6c
mov dword [0x477a84], 1
push 0
call fcn.00409eb0
lea ebp, [0x477d50]
lea eax, [ebp]
push eax
call fcn.0041bdb4
movsx eax, byte [ebp + 0x90]
push eax
pop dword [0x477a88]
mov ebx, dword [0x477a88]
cmp ebx, 1
jne 0x401ba6
mov edx, 0x4210a1
lea ecx, [0x477a8c]
call fcn.00406088
jmp 0x401bb6
mov edx, str.OFF.
lea ecx, [0x477a8c]
call fcn.00406088
mov eax, dword [0x478064]
push eax
push eax
mov edx, str.Run_Game_and_then_press_F1_at_Main_Menu._Numlock_is
call fcn.0040a9c0
mov edx, dword [0x477a8c]
call fcn.0040a9c0
inc dword [0x478064]
push 0
push 8
mov edx, dword [0x4767e0]
add dword [esp + 8], edx
call fcn.00406937
pop dword [0x478064]
call fcn.00404486
push 0xa
call fcn.004075b7
push 0x70
call fcn.0041bdba
mov ebx, eax
and ebx, ebx
je 0x401b6c
mov edx, str.TwoWorlds2.exe
lea ecx, [0x477a28]
call fcn.00406088
call fcn.00403727
mov ebx, dword [0x477a2c]
and ebx, ebx
jne 0x401c75
push 0
push 4
call fcn.0040719f
push 0x12c
call fcn.004075b7
push 0x12c
call fcn.004075b7
push str.Game_not_Found__Run_Game_and_then_press_F1_at_Main_Menu.
push 0
push 8
call fcn.00406937
jmp 0x401b6c
mov edx, str.CH.dll
lea ecx, [0x477a90]
call fcn.00406088
mov edx, dword [0x477a54]
push dword [0x478064]
call fcn.0040a9c0
mov edx, dword [0x477a90]
call fcn.0040a9c0
lea ecx, [0x477a40]
pop edx
call fcn.00406070
call fcn.0040376c
mov edx, str.xlive.dll
lea ecx, [0x477a94]
call fcn.00406088
call fcn.00403727
call fcn.004043d5
call fcn.00404486
mov ebx, dword [0x477a78]
and ebx, ebx
jne 0x401cfe
mov ebx, dword [0x477a98]
and ebx, ebx
jne 0x401cfe
push str.Game_not_Found__Run_Game_and_then_press_F1_at_Main_Menu.
push 0
push 8
call fcn.00406937
jmp 0x401b6c
push 0
push 3
call fcn.0040719f
push 0x12c
call fcn.004075b7
push str.Game_found__Trainer_Activated_
push 0
push 8
call fcn.00406937
mov ebx, dword [0x477a9c]
and ebx, ebx
je 0x402038
push 0x8b
mov ebx, dword [0x477a3c]
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0xff
mov ebx, dword [0x477a3c]
inc ebx
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x55
mov ebx, dword [0x477a3c]
add ebx, 2
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x8b
mov ebx, dword [0x477a3c]
add ebx, 3
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0xec
mov ebx, dword [0x477a3c]
add ebx, 4
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x83
mov ebx, dword [0x477a3c]
add ebx, 5
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0xec
mov ebx, dword [0x477a3c]
add ebx, 6
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x20
mov ebx, dword [0x477a3c]
add ebx, 7
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x53
mov ebx, dword [0x477a3c]
add ebx, 8
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x56
mov ebx, dword [0x477a3c]
add ebx, 9
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x57
mov ebx, dword [0x477a3c]
add ebx, 0xa
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x8d
mov ebx, dword [0x477a3c]
add ebx, 0xb
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x45
mov ebx, dword [0x477a3c]
add ebx, 0xc
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0xe0
mov ebx, dword [0x477a3c]
add ebx, 0xd
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x33
mov ebx, dword [0x477a3c]
add ebx, 0xe
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0xf6
mov ebx, dword [0x477a3c]
add ebx, 0xf
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x50
mov ebx, dword [0x477a3c]
add ebx, 0x10
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0xff
mov ebx, dword [0x477a3c]
add ebx, 0x11
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x75
mov ebx, dword [0x477a3c]
add ebx, 0x12
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0xc
mov ebx, dword [0x477a3c]
add ebx, 0x13
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
mov ebx, dword [0x477a9c]
add ebx, 0x1000
mov dword [0x477a04], ebx
mov ebx, dword [0x477a9c]
add ebx, 0x200000
cmp ebx, dword [0x477a04]
jl 0x402038
push dword [0x477a38]
push 0x14
push dword [0x477a50]
push dword [0x477a04]
push dword [0x477aa0]
call fcn.004060ce
mov dword [0x477a0c], eax
push 0x14
push dword [0x477a50]
push dword [0x477a3c]
call fcn.004076d0
mov dword [0x477a0c], eax
mov ebx, dword [0x477a0c]
cmp ebx, 1
jne 0x40202d
mov eax, dword [0x477a04]
mov dword [0x477aa4], eax
push 0xc2
mov ebx, dword [0x477a3c]
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0xc
mov ebx, dword [0x477a3c]
inc ebx
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0
mov ebx, dword [0x477a3c]
add ebx, 2
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push dword [0x477a38]
push 3
push dword [0x477a3c]
push dword [0x477aa4]
push dword [0x477aa0]
call fcn.004060d4
mov dword [0x477a0c], eax
inc dword [0x477a04]
jmp 0x401f4e
mov ebx, dword [0x477aa8]
and ebx, ebx
jle 0x402047
jmp 0x402e12
mov ebx, dword [0x477a4c]
cmp ebx, 0x45a2a5
jne 0x4020eb
mov ebp, dword [0x477e58]
mov dword [ebp + 4], 0x61
mov dword [ebp + 8], 0x62
mov dword [ebp + 0xc], 0x63
mov dword [ebp + 0x10], 0x64
mov dword [ebp + 0x14], 0x65
mov dword [ebp + 0x18], 0x66
mov dword [ebp + 0x1c], 0x67
mov dword [ebp + 0x20], 0
mov dword [ebp + 0x24], 0
mov dword [ebp + 0x28], 0
mov dword [ebp + 0x2c], 0
mov dword [ebp + 0x30], 0
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
mov dword [ebp + 0x48], 0
mov dword [ebp + 0x4c], 0
mov dword [ebp + 0x50], 0
push str.CH_Trainer_Keys.dat
push 0
call fcn.0040a110
mov dword [0x477a0c], eax
mov ebx, dword [0x477a0c]
and ebx, ebx
jle 0x40225e
mov dword [0x477a84], 1
push 0
call fcn.0040a190
mov dword [0x477aac], eax
mov dword [0x477a04], 1
mov eax, dword [0x477aac]
cmp eax, dword [0x477a04]
jl 0x402254
mov eax, dword [0x478064]
push eax
push eax
push 0
call fcn.0040a1f0
lea ecx, [0x477ab0]
pop edx
call fcn.00406070
push dword [0x477ab0]
mov edx, str.SHIFT
pop ecx
call fcn.0040aa20
je 0x402188
mov ebx, dword [0x477a04]
mov ebp, dword [0x477e60]
shl ebx, 2
mov dword [ebp + ebx], 0
push dword [0x477ab0]
mov edx, str.CTRL
pop ecx
call fcn.0040aa20
je 0x4021b2
mov ebx, dword [0x477a04]
mov ebp, dword [0x477e68]
shl ebx, 2
mov dword [ebp + ebx], 0
push dword [0x477ab0]
mov edx, 0x4211f7
pop ecx
call fcn.0040aa20
je 0x4021dc
mov ebx, dword [0x477a04]
mov ebp, dword [0x477e70]
shl ebx, 2
mov dword [ebp + ebx], 0
push 0
call fcn.0040a190
push eax
mov ebx, dword [0x477a04]
mov ebp, dword [0x477e58]
shl ebx, 2
pop dword [ebp + ebx]
mov eax, dword [0x478064]
push eax
push eax
push dword [0x478064]
push 0
mov ebx, dword [0x477a04]
shl ebx, 2
mov eax, dword [ebp + ebx]
cdq
push edx
push eax
call fcn.004065b0
inc dword [0x478064]
mov edx, dword [0x4767e0]
add dword [esp], edx
call fcn.00406130
pop dword [0x478064]
push eax
mov ebx, dword [0x477a04]
shl ebx, 2
pop dword [ebp + ebx]
inc dword [0x477a04]
jmp 0x402130
push 0
call fcn.00409eb0
mov ebx, dword [0x477a78]
add ebx, 0x38cf15
mov dword [0x477ab4], ebx
mov ebx, dword [0x477a78]
add ebx, 0x2032b0
mov dword [0x477ab8], ebx
push 0x83
mov ebx, dword [0x477a3c]
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x3d
mov ebx, dword [0x477a3c]
inc ebx
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0
mov ebx, dword [0x477a3c]
add ebx, 2
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x3f
mov ebx, dword [0x477a3c]
add ebx, 3
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0xd
mov ebx, dword [0x477a3c]
add ebx, 4
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x18
mov ebx, dword [0x477a3c]
add ebx, 5
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 1
mov ebx, dword [0x477a3c]
add ebx, 6
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x75
mov ebx, dword [0x477a3c]
add ebx, 7
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0xc
mov ebx, dword [0x477a3c]
add ebx, 8
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x8b
mov ebx, dword [0x477a3c]
add ebx, 9
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x93
mov ebx, dword [0x477a3c]
add ebx, 0xa
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0xc4
mov ebx, dword [0x477a3c]
add ebx, 0xb
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 1
mov ebx, dword [0x477a3c]
add ebx, 0xc
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0
mov ebx, dword [0x477a3c]
add ebx, 0xd
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0
mov ebx, dword [0x477a3c]
add ebx, 0xe
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x89
mov ebx, dword [0x477a3c]
add ebx, 0xf
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x9b
mov ebx, dword [0x477a3c]
add ebx, 0x10
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0xc0
mov ebx, dword [0x477a3c]
add ebx, 0x11
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 1
mov ebx, dword [0x477a3c]
add ebx, 0x12
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0
mov ebx, dword [0x477a3c]
add ebx, 0x13
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0
mov ebx, dword [0x477a3c]
add ebx, 0x14
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x83
mov ebx, dword [0x477a3c]
add ebx, 0x15
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x3d
mov ebx, dword [0x477a3c]
add ebx, 0x16
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 4
mov ebx, dword [0x477a3c]
add ebx, 0x17
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x3f
mov ebx, dword [0x477a3c]
add ebx, 0x18
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0xd
mov ebx, dword [0x477a3c]
add ebx, 0x19
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x18
mov ebx, dword [0x477a3c]
add ebx, 0x1a
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 1
mov ebx, dword [0x477a3c]
add ebx, 0x1b
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x75
mov ebx, dword [0x477a3c]
add ebx, 0x1c
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0xc
mov ebx, dword [0x477a3c]
add ebx, 0x1d
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x8b
mov ebx, dword [0x477a3c]
add ebx, 0x1e
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x93
mov ebx, dword [0x477a3c]
add ebx, 0x1f
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0xc8
mov ebx, dword [0x477a3c]
add ebx, 0x20
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 1
mov ebx, dword [0x477a3c]
add ebx, 0x21
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0
mov ebx, dword [0x477a3c]
add ebx, 0x22
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0
mov ebx, dword [0x477a3c]
add ebx, 0x23
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x89
mov ebx, dword [0x477a3c]
add ebx, 0x24
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x93
mov ebx, dword [0x477a3c]
add ebx, 0x25
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0xcc
mov ebx, dword [0x477a3c]
add ebx, 0x26
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 1
mov ebx, dword [0x477a3c]
add ebx, 0x27
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0
mov ebx, dword [0x477a3c]
add ebx, 0x28
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0
mov ebx, dword [0x477a3c]
add ebx, 0x29
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x83
mov ebx, dword [0x477a3c]
add ebx, 0x2a
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x3d
mov ebx, dword [0x477a3c]
add ebx, 0x2b
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 8
mov ebx, dword [0x477a3c]
add ebx, 0x2c
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x3f
mov ebx, dword [0x477a3c]
add ebx, 0x2d
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0xd
mov ebx, dword [0x477a3c]
add ebx, 0x2e
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x18
mov ebx, dword [0x477a3c]
add ebx, 0x2f
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 1
mov ebx, dword [0x477a3c]
add ebx, 0x30
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x75
mov ebx, dword [0x477a3c]
add ebx, 0x31
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0xc
mov ebx, dword [0x477a3c]
add ebx, 0x32
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x8b
mov ebx, dword [0x477a3c]
add ebx, 0x33
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x93
mov ebx, dword [0x477a3c]
add ebx, 0x34
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0xd0
mov ebx, dword [0x477a3c]
add ebx, 0x35
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 1
mov ebx, dword [0x477a3c]
add ebx, 0x36
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0
mov ebx, dword [0x477a3c]
add ebx, 0x37
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0
mov ebx, dword [0x477a3c]
add ebx, 0x38
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x89
mov ebx, dword [0x477a3c]
add ebx, 0x39
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x93
mov ebx, dword [0x477a3c]
add ebx, 0x3a
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0xd4
mov ebx, dword [0x477a3c]
add ebx, 0x3b
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 1
mov ebx, dword [0x477a3c]
add ebx, 0x3c
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0
mov ebx, dword [0x477a3c]
add ebx, 0x3d
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0
mov ebx, dword [0x477a3c]
add ebx, 0x3e
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x8b
mov ebx, dword [0x477a3c]
add ebx, 0x3f
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x93
mov ebx, dword [0x477a3c]
add ebx, 0x40
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0xc0
mov ebx, dword [0x477a3c]
add ebx, 0x41
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 1
mov ebx, dword [0x477a3c]
add ebx, 0x42
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0
mov ebx, dword [0x477a3c]
add ebx, 0x43
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0
mov ebx, dword [0x477a3c]
add ebx, 0x44
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0xc3
mov ebx, dword [0x477a3c]
add ebx, 0x45
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0
mov ebx, dword [0x477a3c]
add ebx, 0x46
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0
mov ebx, dword [0x477a3c]
add ebx, 0x47
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0
mov ebx, dword [0x477a3c]
add ebx, 0x48
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0
mov ebx, dword [0x477a3c]
add ebx, 0x49
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0
mov ebx, dword [0x477a3c]
add ebx, 0x4a
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0
mov ebx, dword [0x477a3c]
add ebx, 0x4b
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0
mov ebx, dword [0x477a3c]
add ebx, 0x4c
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0
mov ebx, dword [0x477a3c]
add ebx, 0x4d
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0
mov ebx, dword [0x477a3c]
add ebx, 0x4e
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0
mov ebx, dword [0x477a3c]
add ebx, 0x4f
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x8b
mov ebx, dword [0x477a3c]
add ebx, 0x50
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x81
mov ebx, dword [0x477a3c]
add ebx, 0x51
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0xd0
mov ebx, dword [0x477a3c]
add ebx, 0x52
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 9
mov ebx, dword [0x477a3c]
add ebx, 0x53
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0
mov ebx, dword [0x477a3c]
add ebx, 0x54
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0
mov ebx, dword [0x477a3c]
add ebx, 0x55
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0xa3
mov ebx, dword [0x477a3c]
add ebx, 0x56
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0xc
mov ebx, dword [0x477a3c]
add ebx, 0x57
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x3f
mov ebx, dword [0x477a3c]
add ebx, 0x58
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0xd
mov ebx, dword [0x477a3c]
add ebx, 0x59
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x18
mov ebx, dword [0x477a3c]
add ebx, 0x5a
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0xc3
mov ebx, dword [0x477a3c]
add ebx, 0x5b
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push dword [0x477a38]
push 0x2ac
push dword [0x477a3c]
mov ebx, dword [0x477a98]
add ebx, 0x1091
push ebx
push dword [0x477aa0]
call fcn.004060d4
mov dword [0x477a0c], eax
mov ebx, dword [0x477a98]
add ebx, 0x3f00
push ebx
mov eax, dword [0x477a3c]
call fcn.00407650
mov dword [0x477a0c], eax
push dword [0x477a38]
push 4
push dword [0x477a3c]
mov ebx, dword [0x477a98]
add ebx, 0x1093
push ebx
push dword [0x477aa0]
call fcn.004060d4
mov dword [0x477a0c], eax
mov ebx, dword [0x477a98]
add ebx, 0x3f04
push ebx
mov eax, dword [0x477a3c]
call fcn.00407650
mov dword [0x477a0c], eax
push dword [0x477a38]
push 4
push dword [0x477a3c]
mov ebx, dword [0x477a98]
add ebx, 0x10a8
push ebx
push dword [0x477aa0]
call fcn.004060d4
mov dword [0x477a0c], eax
mov ebx, dword [0x477a98]
add ebx, 0x3f08
push ebx
mov eax, dword [0x477a3c]
call fcn.00407650
mov dword [0x477a0c], eax
push dword [0x477a38]
push 4
push dword [0x477a3c]
mov ebx, dword [0x477a98]
add ebx, 0x10bd
push ebx
push dword [0x477aa0]
call fcn.004060d4
mov dword [0x477a0c], eax
mov ebx, dword [0x477a98]
add ebx, 0x3f0c
push ebx
mov eax, dword [0x477a3c]
call fcn.00407650
mov dword [0x477a0c], eax
push dword [0x477a38]
push 4
push dword [0x477a3c]
mov ebx, dword [0x477a98]
add ebx, 0x10e8
push ebx
push dword [0x477aa0]
call fcn.004060d4
mov dword [0x477a0c], eax
push 0xe8
mov ebx, dword [0x477a3c]
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x90
mov ebx, dword [0x477a3c]
inc ebx
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x90
mov ebx, dword [0x477a3c]
add ebx, 2
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x90
mov ebx, dword [0x477a3c]
add ebx, 3
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x90
mov ebx, dword [0x477a3c]
add ebx, 4
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
push 0x90
mov ebx, dword [0x477a3c]
add ebx, 5
mov eax, ebx
call fcn.00407640
mov dword [0x477a0c], eax
mov ebx, dword [0x477a98]
add ebx, 0x10e1
sub ebx, dword [0x477ab8]
add ebx, 0xfffffffb
push ebx
mov ebx, dword [0x477a3c]
inc ebx
mov eax, ebx
call fcn.00407650
mov dword [0x477a0c], eax
push dword [0x477a38]
push 6
push dword [0x477a3c]
push dword [0x477ab8]
push dword [0x477aa0]
call fcn.004060d4
mov dword [0x477a0c], eax
mov dword [0x477abc], 0
mov eax, 0xff
cmp eax, dword [0x477abc]
jl 0x402e3c
push dword [0x477abc]
call fcn.0041bdba
inc dword [0x477abc]
jmp 0x402e1c
call fcn.004060c2
and eax, eax
je 0x402e4b
push 0x55009553
ret
mov ebp, dword [0x477e58]
push dword [ebp + 4]
call fcn.0041bdba
push eax
mov ebp, dword [0x477e78]
pop dword [ebp + 4]
mov ebp, dword [0x477e58]
push dword [ebp + 8]
call fcn.0041bdba
push eax
mov ebp, dword [0x477e78]
pop dword [ebp + 8]
mov ebp, dword [0x477e58]
push dword [ebp + 0xc]
call fcn.0041bdba
push eax
mov ebp, dword [0x477e78]
pop dword [ebp + 0xc]
mov ebp, dword [0x477e58]
push dword [ebp + 0x10]
call fcn.0041bdba
push eax
mov ebp, dword [0x477e78]
pop dword [ebp + 0x10]
mov ebp, dword [0x477e58]
push dword [ebp + 0x14]
call fcn.0041bdba
push eax
mov ebp, dword [0x477e78]
pop dword [ebp + 0x14]
mov ebp, dword [0x477e58]
push dword [ebp + 0x18]
call fcn.0041bdba
push eax
mov ebp, dword [0x477e78]
pop dword [ebp + 0x18]
mov ebp, dword [0x477e58]
push dword [ebp + 0x1c]
call fcn.0041bdba
push eax
mov ebp, dword [0x477e78]
pop dword [ebp + 0x1c]
mov ebp, dword [0x477e58]
push dword [ebp + 0x20]
call fcn.0041bdba
push eax
mov ebp, dword [0x477e78]
pop dword [ebp + 0x20]
mov ebp, dword [0x477e58]
push dword [ebp + 0x24]
call fcn.0041bdba
push eax
mov ebp, dword [0x477e78]
pop dword [ebp + 0x24]
mov ebp, dword [0x477e58]
push dword [ebp + 0x28]
call fcn.0041bdba
push eax
mov ebp, dword [0x477e78]
pop dword [ebp + 0x28]
mov ebp, dword [0x477e58]
push dword [ebp + 0x2c]
call fcn.0041bdba
push eax
mov ebp, dword [0x477e78]
pop dword [ebp + 0x2c]
mov ebp, dword [0x477e58]
push dword [ebp + 0x30]
call fcn.0041bdba
push eax
mov ebp, dword [0x477e78]
pop dword [ebp + 0x30]
mov ebp, dword [0x477e58]
push dword [ebp + 0x34]
call fcn.0041bdba
push eax
mov ebp, dword [0x477e78]
pop dword [ebp + 0x34]
mov ebp, dword [0x477e58]
push dword [ebp + 0x38]
call fcn.0041bdba
push eax
mov ebp, dword [0x477e78]
pop dword [ebp + 0x38]
mov ebp, dword [0x477e58]
push dword [ebp + 0x3c]
call fcn.0041bdba
push eax
mov ebp, dword [0x477e78]
pop dword [ebp + 0x3c]
mov ebp, dword [0x477e58]
push dword [ebp + 0x40]
call fcn.0041bdba
push eax
mov ebp, dword [0x477e78]
pop dword [ebp + 0x40]
mov ebp, dword [0x477e58]
push dword [ebp + 0x44]
call fcn.0041bdba
push eax
mov ebp, dword [0x477e78]
pop dword [ebp + 0x44]
mov ebp, dword [0x477e58]
push dword [ebp + 0x48]
call fcn.0041bdba
push eax
mov ebp, dword [0x477e78]
pop dword [ebp + 0x48]
mov ebp, dword [0x477e58]
push dword [ebp + 0x4c]
call fcn.0041bdba
push eax
mov ebp, dword [0x477e78]
pop dword [ebp + 0x4c]
mov ebp, dword [0x477e58]
push dword [ebp + 0x50]
call fcn.0041bdba
push eax
mov ebp, dword [0x477e78]
pop dword [ebp + 0x50]
push 0x10
call fcn.0041bdba
mov dword [0x477ac0], eax
push 0x11
call fcn.0041bdba
mov dword [0x477ac4], eax
push 0x12
call fcn.0041bdba
mov dword [0x477ac8], eax
push dword [0x477a38]
push 4
push dword [0x477a3c]
mov ebx, dword [0x477a98]
add ebx, 0x3f0c
push ebx
push dword [0x477aa0]
call fcn.004060ce
mov dword [0x477a0c], eax
mov eax, dword [0x477a3c]
call fcn.00407660
mov dword [0x477acc], eax
mov ebx, dword [0x477acc]
add ebx, 4
mov dword [0x477ad0], ebx
mov ebx, dword [0x477acc]
add ebx, 0x10
mov dword [0x477ad4], ebx
mov ebx, dword [0x477acc]
add ebx, 0x12
mov dword [0x477ad8], ebx
mov ebx, dword [0x477acc]
add ebx, 0x24
mov dword [0x477adc], ebx
mov ebp, dword [0x477e58]
push dword [ebp + 0x1c]
call fcn.0041bdba
mov ebx, eax
mov ebp, dword [0x477e60]
mov edi, dword [ebp + 0x1c]
add edi, dword [0x477ac0]
imul ebx, edi
mov ebp, dword [0x477e68]
mov edi, dword [ebp + 0x1c]
add edi, dword [0x477ac4]
imul ebx, edi
mov ebp, dword [0x477e70]
mov edi, dword [ebp + 0x1c]
add edi, dword [0x477ac8]
imul ebx, edi
mov dword [0x477ae0], ebx
mov ebx, dword [0x477ae0]
and ebx, ebx
je 0x4031d0
push dword [0x477a38]
push 4
push dword [0x477a3c]
push dword [0x477adc]
push dword [0x477aa0]
call fcn.004060ce
mov dword [0x477a0c], eax
mov eax, dword [0x477a3c]
call fcn.00407660
mov ebx, eax
xor ebx, 0x5a63cd29
mov dword [0x477ae4], ebx
mov dword [0x477ae4], 0x64
mov ebx, dword [0x477ae4]
xor ebx, 0x5a63cd29
push ebx
mov eax, dword [0x477a3c]
call fcn.00407650
mov dword [0x477a0c], eax
push dword [0x477a38]
push 4
push dword [0x477a3c]
push dword [0x477adc]
push dword [0x477aa0]
call fcn.004060d4
mov dword [0x477a0c], eax
push 0
push 0
call fcn.0040719f
push 0x12c
call fcn.004075b7
mov ebp, dword [0x477e58]
push dword [ebp + 0x20]
call fcn.0041bdba
mov ebx, eax
mov ebp, dword [0x477e60]
mov edi, dword [ebp + 0x20]
add edi, dword [0x477ac0]
imul ebx, edi
mov ebp, dword [0x477e68]
mov edi, dword [ebp + 0x20]
add edi, dword [0x477ac4]
imul ebx, edi
mov ebp, dword [0x477e70]
mov edi, dword [ebp + 0x20]
add edi, dword [0x477ac8]
imul ebx, edi
mov dword [0x477ae8], ebx
mov ebx, dword [0x477ae8]
and ebx, ebx
je 0x403226
mov ebp, dword [0x477e58]
push dword [ebp + 0x24]
call fcn.0041bdba
mov ebx, eax
mov ebp, dword [0x477e60]
mov edi, dword [ebp + 0x24]
add edi, dword [0x477ac0]
imul ebx, edi
mov ebp, dword [0x477e68]
mov edi, dword [ebp + 0x24]
add edi, dword [0x477ac4]
imul ebx, edi
mov ebp, dword [0x477e70]
mov edi, dword [ebp + 0x24]
add edi, dword [0x477ac8]
imul ebx, edi
mov dword [0x477aec], ebx
mov ebx, dword [0x477aec]
and ebx, ebx
je 0x40327c
mov ebp, dword [0x477e58]
push dword [ebp + 0x28]
call fcn.0041bdba
mov ebx, eax
mov ebp, dword [0x477e60]
mov edi, dword [ebp + 0x28]
add edi, dword [0x477ac0]
imul ebx, edi
mov ebp, dword [0x477e68]
mov edi, dword [ebp + 0x28]
add edi, dword [0x477ac4]
imul ebx, edi
mov ebp, dword [0x477e70]
mov edi, dword [ebp + 0x28]
add edi, dword [0x477ac8]
imul ebx, edi
mov dword [0x477af0], ebx
mov ebx, dword [0x477af0]
and ebx, ebx
je 0x4032d2
mov ebp, dword [0x477e58]
push dword [ebp + 0x2c]
call fcn.0041bdba
mov ebx, eax
mov ebp, dword [0x477e60]
mov edi, dword [ebp + 0x2c]
add edi, dword [0x477ac0]
imul ebx, edi
mov ebp, dword [0x477e68]
mov edi, dword [ebp + 0x2c]
add edi, dword [0x477ac4]
imul ebx, edi
mov ebp, dword [0x477e70]
mov edi, dword [ebp + 0x2c]
add edi, dword [0x477ac8]
imul ebx, edi
mov dword [0x477af4], ebx
mov ebx, dword [0x477af4]
and ebx, ebx
je 0x403328
mov ebp, dword [0x477e58]
push dword [ebp + 0x30]
call fcn.0041bdba
mov ebx, eax
mov ebp, dword [0x477e60]
mov edi, dword [ebp + 0x30]
add edi, dword [0x477ac0]
imul ebx, edi
mov ebp, dword [0x477e68]
mov edi, dword [ebp + 0x30]
add edi, dword [0x477ac4]
imul ebx, edi
mov ebp, dword [0x477e70]
mov edi, dword [ebp + 0x30]
add edi, dword [0x477ac8]
imul ebx, edi
mov dword [0x477af8], ebx
mov ebx, dword [0x477af8]
and ebx, ebx
je 0x40337e
mov ebp, dword [0x477e58]
push dword [ebp + 0x34]
call fcn.0041bdba
mov ebx, eax
mov ebp, dword [0x477e60]
mov edi, dword [ebp + 0x34]
add edi, dword [0x477ac0]
imul ebx, edi
mov ebp, dword [0x477e68]
mov edi, dword [ebp + 0x34]
add edi, dword [0x477ac4]
imul ebx, edi
mov ebp, dword [0x477e70]
mov edi, dword [ebp + 0x34]
add edi, dword [0x477ac8]
imul ebx, edi
mov dword [0x477afc], ebx
mov ebx, dword [0x477afc]
and ebx, ebx
je 0x4033d4
mov ebp, dword [0x477e58]
push dword [ebp + 0x38]
call fcn.0041bdba
mov ebx, eax
mov ebp, dword [0x477e60]
mov edi, dword [ebp + 0x38]
add edi, dword [0x477ac0]
imul ebx, edi
mov ebp, dword [0x477e68]
mov edi, dword [ebp + 0x38]
add edi, dword [0x477ac4]
imul ebx, edi
mov ebp, dword [0x477e70]
mov edi, dword [ebp + 0x38]
add edi, dword [0x477ac8]
imul ebx, edi
mov dword [0x477b00], ebx
mov ebx, dword [0x477b00]
and ebx, ebx
je 0x40342a
mov ebp, dword [0x477e58]
push dword [ebp + 0x3c]
call fcn.0041bdba
mov ebx, eax
mov ebp, dword [0x477e60]
mov edi, dword [ebp + 0x3c]
add edi, dword [0x477ac0]
imul ebx, edi
mov ebp, dword [0x477e68]
mov edi, dword [ebp + 0x3c]
add edi, dword [0x477ac4]
imul ebx, edi
mov ebp, dword [0x477e70]
mov edi, dword [ebp + 0x3c]
add edi, dword [0x477ac8]
imul ebx, edi
mov dword [0x477b04], ebx
mov ebx, dword [0x477b04]
and ebx, ebx
je 0x403480
mov ebp, dword [0x477e58]
push dword [ebp + 0x40]
call fcn.0041bdba
mov ebx, eax
mov ebp, dword [0x477e60]
mov edi, dword [ebp + 0x40]
add edi, dword [0x477ac0]
imul ebx, edi
mov ebp, dword [0x477e68]
mov edi, dword [ebp + 0x40]
add edi, dword [0x477ac4]
imul ebx, edi
mov ebp, dword [0x477e70]
mov edi, dword [ebp + 0x40]
add edi, dword [0x477ac8]
imul ebx, edi
mov dword [0x477b08], ebx
mov ebx, dword [0x477b08]
and ebx, ebx
je 0x4034d6
mov ebp, dword [0x477e58]
push dword [ebp + 0x44]
call fcn.0041bdba
mov ebx, eax
mov ebp, dword [0x477e60]
mov edi, dword [ebp + 0x44]
add edi, dword [0x477ac0]
imul ebx, edi
mov ebp, dword [0x477e68]
mov edi, dword [ebp + 0x44]
add edi, dword [0x477ac4]
imul ebx, edi
mov ebp, dword [0x477e70]
mov edi, dword [ebp + 0x44]
add edi, dword [0x477ac8]
imul ebx, edi
mov dword [0x477b0c], ebx
mov ebx, dword [0x477b0c]
and ebx, ebx
je 0x40352c
mov ebp, dword [0x477e58]
push dword [ebp + 0x48]
call fcn.0041bdba
mov ebx, eax
mov ebp, dword [0x477e60]
mov edi, dword [ebp + 0x48]
add edi, dword [0x477ac0]
imul ebx, edi
mov ebp, dword [0x477e68]
mov edi, dword [ebp + 0x48]
add edi, dword [0x477ac4]
imul ebx, edi
mov ebp, dword [0x477e70]
mov edi, dword [ebp + 0x48]
add edi, dword [0x477ac8]
imul ebx, edi
mov dword [0x477b10], ebx
mov ebx, dword [0x477b10]
and ebx, ebx
je 0x403582
mov ebp, dword [0x477e58]
push dword [ebp + 0x4c]
call fcn.0041bdba
mov ebx, eax
mov ebp, dword [0x477e60]
mov edi, dword [ebp + 0x4c]
add edi, dword [0x477ac0]
imul ebx, edi
mov ebp, dword [0x477e68]
mov edi, dword [ebp + 0x4c]
add edi, dword [0x477ac4]
imul ebx, edi
mov ebp, dword [0x477e70]
mov edi, dword [ebp + 0x4c]
add edi, dword [0x477ac8]
imul ebx, edi
mov dword [0x477b14], ebx
mov ebx, dword [0x477b14]
and ebx, ebx
je 0x4035d8
mov ebp, dword [0x477e58]
push dword [ebp + 0x50]
call fcn.0041bdba
mov ebx, eax
mov ebp, dword [0x477e60]
mov edi, dword [ebp + 0x50]
add edi, dword [0x477ac0]
imul ebx, edi
mov ebp, dword [0x477e68]
mov edi, dword [ebp + 0x50]
add edi, dword [0x477ac4]
imul ebx, edi
mov ebp, dword [0x477e70]
mov edi, dword [ebp + 0x50]
add edi, dword [0x477ac8]
imul ebx, edi
mov dword [0x477b18], ebx
mov ebx, dword [0x477b18]
and ebx, ebx
je 0x40362e
mov dword [0x477b1c], 0
mov dword [0x477b20], 0
mov dword [0x477b24], 0
mov dword [0x477b28], 0
mov dword [0x477b2c], 0
mov dword [0x477b30], 0
mov dword [0x477ae0], 0
mov dword [0x477ae8], 0
mov dword [0x477aec], 0
mov dword [0x477af0], 0
mov dword [0x477af4], 0
mov dword [0x477af8], 0
mov dword [0x477afc], 0
mov dword [0x477b00], 0
mov dword [0x477b04], 0
mov dword [0x477b08], 0
mov dword [0x477b0c], 0
mov dword [0x477b10], 0
mov dword [0x477b14], 0
mov dword [0x477b18], 0
mov ebx, dword [0x477a4c]
cmp ebx, 0x45a2a5
je 0x403713
push 0
push 3
call fcn.004084a2
call fcn.00404486
push 1
call fcn.004075b7
jmp 0x402e12