Function at 0x401000
Capabilities:
Authenticate hmac
Log keystrokes via polling
Parse pe header
Resolve function by parsing pe exports

Disassembly:
push 0x1b8
push 0
push 0x51b5f8
call sub.CRTDLL.dll_memset
add esp, 0xc
push 0
call sub.KERNEL32.dll_GetModuleHandleA
mov dword [0x51b5fc], eax
push 0
push 0x1000
push 0
call sub.KERNEL32.dll_HeapCreate
mov dword [0x51b5f8], eax
call fcn.00412318
call fcn.00411b5b
call fcn.00410496
call fcn.0040fbb7
call fcn.0040fb54
call fcn.0040f447
call fcn.00406ab2
call fcn.004069a0
call fcn.00406370
call fcn.00406210
call fcn.0040578f
call fcn.00412390
call fcn.004070d9
call fcn.004058f0
mov dword [0x51b744], eax
mov ebp, str.RIFFp
push ebp
push 0
call fcn.00405d80
mov ebp, 0x468b63
push ebp
push 1
call fcn.00405d80
mov ebp, str.RIFF
push ebp
push 3
call fcn.00405d80
mov ebp, str.RIFF__f
push ebp
push 4
call fcn.00405d80
mov ebp, str.RIFF__
push ebp
push 5
call fcn.00405d80
mov ebp, str.RIFF_f_
push ebp
push 6
call fcn.00405d80
push dword [0x51be34]
call fcn.00406390
sub esp, 4
lea ecx, [0x51b658]
pop edx
call fcn.00405000
push dword [0x51be34]
push dword [0x51b658]
call fcn.00406930
sub esp, 4
lea ecx, [0x51b658]
pop edx
call fcn.00405000
mov edx, 0x414073
lea ecx, [0x51b610]
call fcn.00405010
mov edx, 0x414073
lea ecx, [0x51b624]
call fcn.00405010
mov edx, 0x414073
lea ecx, [0x51b644]
call fcn.00405010
mov dword [0x51b6fc], 0
push dword [0x51b658]
push 0
call fcn.00411cac
mov ebx, eax
and ebx, ebx
jle 0x40150d
mov dword [0x51b6b4], 1
mov eax, 0x3b8
cmp eax, dword [0x51b6b4]
jl 0x4011a6
push 0
call fcn.00411ce0
mov dword [0x51b60c], eax
inc dword [0x51b6b4]
jmp 0x401182
mov dword [0x51b6b4], 0x3b9
mov eax, 0x3c0
cmp eax, dword [0x51b6b4]
jl 0x40124d
push 0
call fcn.00411ce0
mov dword [0x51b60c], eax
push dword [0x51be34]
push dword [0x51be34]
push 0
mov eax, dword [0x51b60c]
cdq
push edx
push eax
call fcn.004054e0
sub esp, 4
inc dword [0x51be34]
mov edx, dword [0x518b1c]
add dword [esp], edx
call fcn.004050d0
pop dword [0x51be34]
mov dword [0x51b60c], eax
mov edx, dword [0x51b610]
push dword [0x51be34]
call fcn.004123e0
push dword [0x51be34]
push dword [0x51b60c]
call fcn.00405140
sub esp, 4
pop eax
lea ecx, [0x51b610]
pop edx
call fcn.00405000
inc dword [0x51b6b4]
jmp 0x4011b0
push dword [0x51b610]
call fcn.00404d38
mov dword [0x51b60c], eax
mov ebx, dword [0x51b60c]
xor ebx, 0x98989898
mov dword [0x51b60c], ebx
push dword [0x51b60c]
pop dword [0x51b768]
push dword [0x51be34]
push 0xa
push dword [0x51be34]
mov edx, str.0000000000
call fcn.004123e0
push dword [0x51be34]
push dword [0x51b60c]
call fcn.00405160
sub esp, 4
pop eax
inc dword [0x51be34]
mov edx, dword [0x518b1c]
add dword [esp], edx
call fcn.00405250
sub esp, 4
lea ecx, [0x51b610]
pop edx
call fcn.00405000
mov dword [0x51b6b4], 0x3c1
mov eax, 0x3c8
cmp eax, dword [0x51b6b4]
jl 0x401375
push 0
call fcn.00411ce0
mov dword [0x51b60c], eax
push dword [0x51be34]
push dword [0x51be34]
push 0
mov eax, dword [0x51b60c]
cdq
push edx
push eax
call fcn.004054e0
sub esp, 4
inc dword [0x51be34]
mov edx, dword [0x518b1c]
add dword [esp], edx
call fcn.004050d0
pop dword [0x51be34]
mov dword [0x51b60c], eax
mov edx, dword [0x51b624]
push dword [0x51be34]
call fcn.004123e0
push dword [0x51be34]
push dword [0x51b60c]
call fcn.00405140
sub esp, 4
pop eax
lea ecx, [0x51b624]
pop edx
call fcn.00405000
inc dword [0x51b6b4]
jmp 0x4012d8
push dword [0x51b624]
call fcn.00404d38
mov dword [0x51b704], eax
mov dword [0x51b6b4], 0x3c9
mov eax, 0x3d0
cmp eax, dword [0x51b6b4]
jl 0x40142c
push 0
call fcn.00411ce0
mov dword [0x51b60c], eax
push dword [0x51be34]
push dword [0x51be34]
push 0
mov eax, dword [0x51b60c]
cdq
push edx
push eax
call fcn.004054e0
sub esp, 4
inc dword [0x51be34]
mov edx, dword [0x518b1c]
add dword [esp], edx
call fcn.004050d0
pop dword [0x51be34]
mov dword [0x51b60c], eax
mov edx, dword [0x51b644]
push dword [0x51be34]
call fcn.004123e0
push dword [0x51be34]
push dword [0x51b60c]
call fcn.00405140
sub esp, 4
pop eax
lea ecx, [0x51b644]
pop edx
call fcn.00405000
inc dword [0x51b6b4]
jmp 0x40138f
push dword [0x51b644]
call fcn.00404d38
mov dword [0x51b60c], eax
push dword [0x51b60c]
pop dword [0x51b700]
mov dword [0x51b6b4], 0x3d1
mov ebx, dword [0x51b700]
dec ebx
cmp ebx, dword [0x51b6b4]
jl 0x401478
push 0
call fcn.00411ce0
mov dword [0x51b60c], eax
inc dword [0x51b6b4]
jmp 0x401452
push dword [0x51b700]
pop dword [0x51b6b4]
mov ebx, dword [0x51b700]
add ebx, 0x12
cmp ebx, dword [0x51b6b4]
jl 0x4014be
push 0
call fcn.00411ce0
mov dword [0x51b60c], eax
mov ebx, dword [0x51b6fc]
add ebx, dword [0x51b60c]
mov dword [0x51b6fc], ebx
inc dword [0x51b6b4]
jmp 0x401484
mov ebx, dword [0x51b704]
xor ebx, dword [0x51b6fc]
mov dword [0x51b76c], ebx
mov ebx, dword [0x51b76c]
and ebx, ebx
jne 0x4014e4
mov dword [0x51b76c], 0x63
mov ebx, dword [0x51b76c]
xor ebx, 0x98989898
mov dword [0x51b76c], ebx
mov ebx, dword [0x51b768]
cmp ebx, dword [0x51b76c]
jne 0x401506
jmp 0x40150b
jmp 0x4048c7
jmp 0x401512
jmp 0x4048c7
push 5
push 0x51b778
push 0
mov edx, dword [0x51b778]
call fcn.00405018
mov eax, 0xd
push 4
call fcn.0051f000
push 5
push 0x51b780
push 0
mov edx, dword [0x51b780]
call fcn.00405018
mov eax, 0xd
push 4
call fcn.0051f000
push 5
push 0x51b788
push 0
mov edx, dword [0x51b788]
call fcn.00405018
mov eax, 0xd
push 4
call fcn.0051f000
push 5
push 0x51b790
push 0
mov edx, dword [0x51b790]
call fcn.00405018
mov eax, 0xd
push 4
call fcn.0051f000
push 5
push 0x51b798
push 0
mov edx, dword [0x51b798]
call fcn.00405018
mov eax, 0xd
push 4
call fcn.0051f000
push 0x3e8
call fcn.004069e4
mov dword [0x51b634], eax
mov dword [0x51b6b4], 1
mov eax, 0xc
cmp eax, dword [0x51b6b4]
jl 0x401652
mov ebx, dword [0x51b6b4]
mov ebp, dword [0x51b780]
sal ebx, 2
mov dword [ebp + ebx], 1
mov ebx, dword [0x51b6b4]
mov ebp, dword [0x51b788]
sal ebx, 2
mov dword [ebp + ebx], 1
mov ebx, dword [0x51b6b4]
mov ebp, dword [0x51b790]
sal ebx, 2
mov dword [ebp + ebx], 1
inc dword [0x51b6b4]
jmp 0x4015f8
mov edx, str.Confict_Denied_Ops_Demo
lea ecx, [0x51b69c]
call fcn.00405010
push dword [0x51be34]
call fcn.00411a10
sub esp, 4
lea ecx, [0x51b678]
pop edx
call fcn.00405000
push dword [0x51be34]
mov edx, dword [0x51b678]
push dword [0x51be34]
call fcn.004123e0
mov edx, str.CH.dll
call fcn.004123e0
inc dword [0x51be34]
push 0
mov edx, dword [0x518b1c]
add dword [esp + 4], edx
call fcn.00411c7e
pop dword [0x51be34]
and eax, eax
je 0x4016ec
mov ebp, str.________r_n_________________________________________________________________________________r_n___________________________________________r_n_r_n____________________CHEATHAPPENS_and__CaliberWerkz__Presents:_r_n_r_n___________________________________________r_n_________________________________________________________________________________r_n_r_nConflict_Denied_Ops_Trainer_by_CALIBER_r_n_r_n_r_n_r_nUsing_this_Trainer_r_n___________________r_nLaunch_the_trainer_first__then_launch_the_Game_and_then_Press_F1_at_the_Main_Menu._r_nListen_for__Activated__r_nPress_desired_option_key_r_n_r_nOptions_r_n________r_n_r_nNumpad_1:_Unlimited_Health_For_character_under_control_r_nNumpad_2:_Unlimited_Ammo_for_Primary_Weapon_and_Pistol_r_nNumpad_3:_Squad_Health__Both_controllable_characters_are_invincible._r_nNumpad_4:_Unlimited_Rockets__You_have_unlimited_rockets__r_nNumpad_5:_Unlimited_Grenades__You_have_unlimited_grenades__r_n_r_n_r_n_r_nNote:_This_trainer_is_compatible_with_our_Trainer_Customizer.__Click_the_Troubleshooting_r_n_tbutton_to_download_it._r_n_r_n_r_nIf_you_want_more_trainers_or_mega_trainer_versions__when_available__with_more_r_noptions_then_visit_us_at_WWW.CHEATHAPPENS.COM_r_n_r_nCreated_by_Caliber_for_CheatHappens._r_n_r_n_CaliberWerkz_2008_
mov ebx, ebp
mov ebp, 0x517a23
sub ebx, ebp
push ebx
mov ebp, 0x517a23
push ebp
push 0
call fcn.00411d30
push 0
call fcn.00411ad7
jmp 0x4016ec
push dword [0x51be34]
mov edx, dword [0x51b678]
push dword [0x51be34]
call fcn.004123e0
mov edx, str.help.txt
call fcn.004123e0
inc dword [0x51be34]
push 0
mov edx, dword [0x518b1c]
add dword [esp + 4], edx
call fcn.00411c7e
pop dword [0x51be34]
and eax, eax
je 0x40175c
mov ebp, 0x518b1b
mov ebx, ebp
mov ebp, str.________r_n_________________________________________________________________________________r_n___________________________________________r_n_r_n____________________CHEATHAPPENS_and__CaliberWerkz__Presents:_r_n_r_n___________________________________________r_n_________________________________________________________________________________r_n_r_nConflict_Denied_Ops_Trainer_by_CALIBER_r_n_r_n_r_n_r_nUsing_this_Trainer_r_n___________________r_nLaunch_the_trainer_first__then_launch_the_Game_and_then_Press_F1_at_the_Main_Menu._r_nListen_for__Activated__r_nPress_desired_option_key_r_n_r_nOptions_r_n________r_n_r_nNumpad_1:_Unlimited_Health_For_character_under_control_r_nNumpad_2:_Unlimited_Ammo_for_Primary_Weapon_and_Pistol_r_nNumpad_3:_Squad_Health__Both_controllable_characters_are_invincible._r_nNumpad_4:_Unlimited_Rockets__You_have_unlimited_rockets__r_nNumpad_5:_Unlimited_Grenades__You_have_unlimited_grenades__r_n_r_n_r_n_r_nNote:_This_trainer_is_compatible_with_our_Trainer_Customizer.__Click_the_Troubleshooting_r_n_tbutton_to_download_it._r_n_r_n_r_nIf_you_want_more_trainers_or_mega_trainer_versions__when_available__with_more_r_noptions_then_visit_us_at_WWW.CHEATHAPPENS.COM_r_n_r_nCreated_by_Caliber_for_CheatHappens._r_n_r_n_CaliberWerkz_2008_
sub ebx, ebp
push ebx
mov ebp, str.________r_n_________________________________________________________________________________r_n___________________________________________r_n_r_n____________________CHEATHAPPENS_and__CaliberWerkz__Presents:_r_n_r_n___________________________________________r_n_________________________________________________________________________________r_n_r_nConflict_Denied_Ops_Trainer_by_CALIBER_r_n_r_n_r_n_r_nUsing_this_Trainer_r_n___________________r_nLaunch_the_trainer_first__then_launch_the_Game_and_then_Press_F1_at_the_Main_Menu._r_nListen_for__Activated__r_nPress_desired_option_key_r_n_r_nOptions_r_n________r_n_r_nNumpad_1:_Unlimited_Health_For_character_under_control_r_nNumpad_2:_Unlimited_Ammo_for_Primary_Weapon_and_Pistol_r_nNumpad_3:_Squad_Health__Both_controllable_characters_are_invincible._r_nNumpad_4:_Unlimited_Rockets__You_have_unlimited_rockets__r_nNumpad_5:_Unlimited_Grenades__You_have_unlimited_grenades__r_n_r_n_r_n_r_nNote:_This_trainer_is_compatible_with_our_Trainer_Customizer.__Click_the_Troubleshooting_r_n_tbutton_to_download_it._r_n_r_n_r_nIf_you_want_more_trainers_or_mega_trainer_versions__when_available__with_more_r_noptions_then_visit_us_at_WWW.CHEATHAPPENS.COM_r_n_r_nCreated_by_Caliber_for_CheatHappens._r_n_r_n_CaliberWerkz_2008_
push ebp
push 0
call fcn.00411d30
push 0
call fcn.00411ad7
jmp 0x40176b
push str.Could_not_create_HELP.TXT_file.
push str.Error
call fcn.00406251
push str.CH_Trainer_Keys.dat
push 0
call fcn.00411cac
mov dword [0x51b744], eax
mov ebx, dword [0x51b744]
and ebx, ebx
jle 0x40179d
mov dword [0x51b674], 1
push 2
call fcn.00411ad7
mov eax, 0x12c
call fcn.0051f050
call fcn.00404be9
push str.Run_Game_and_then_press_F1_at_Main_Menu.
push 0
push 7
call fcn.004058d3
call fcn.004045d8
mov eax, 0xa
call fcn.0051f050
push 0x70
call sub.USER32.dll_GetAsyncKeyState
mov ebx, eax
and ebx, ebx
je 0x4017c0
mov edx, str.ConflictDeniedOps.exe
lea ecx, [0x51b730]
call fcn.00405010
call fcn.00403bcc
mov ebx, dword [0x51b6b0]
and ebx, ebx
jne 0x401837
push 0
push 4
call fcn.00405da0
mov eax, 0x12c
call fcn.0051f050
mov eax, 0x12c
call fcn.0051f050
push str.Game_not_Found__Run_Game_and_then_press_F1_at_Main_Menu.
push 0
push 7
call fcn.004058d3
jmp 0x4017c0
mov edx, str.CH.dll
lea ecx, [0x51b650]
call fcn.00405010
mov edx, dword [0x51b678]
push dword [0x51be34]
call fcn.004123e0
mov edx, dword [0x51b650]
call fcn.004123e0
lea ecx, [0x51b698]
pop edx
call fcn.00405000
call fcn.00403c11
call fcn.00403bcc
call fcn.0040454d
call fcn.004045d8
mov ebx, dword [0x51b72c]
and ebx, ebx
jne 0x4018ba
mov ebx, dword [0x51b64c]
and ebx, ebx
jne 0x4018ba
push str.Game_not_Found__Run_Game_and_then_press_F1_at_Main_Menu.
push 0
push 7
call fcn.004058d3
jmp 0x4017c0
push 0
push 3
call fcn.00405da0
mov eax, 0x12c
call fcn.0051f050
push str.Game_found__Trainer_Activated_
push 0
push 7
call fcn.004058d3
mov ebp, dword [0x51b778]
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], 0
mov dword [ebp + 0x1c], 0
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
push str.CH_Trainer_Keys.dat
push 0
call fcn.00411cac
mov dword [0x51b744], eax
mov ebx, dword [0x51b744]
and ebx, ebx
jle 0x401ab8
mov dword [0x51b674], 1
push 0
call fcn.00411ce0
mov dword [0x51b70c], eax
mov dword [0x51b6b4], 1
mov eax, dword [0x51b70c]
cmp eax, dword [0x51b6b4]
jl 0x401aae
push dword [0x51be34]
push 0
call fcn.00411d90
sub esp, 4
lea ecx, [0x51b754]
pop edx
call fcn.00405000
push dword [0x51b754]
mov edx, str.SHIFT
pop ecx
call fcn.0051f090
je 0x4019e0
mov ebx, dword [0x51b6b4]
mov ebp, dword [0x51b780]
sal ebx, 2
mov dword [ebp + ebx], 0
push dword [0x51b754]
mov edx, str.CTRL
pop ecx
call fcn.0051f090
je 0x401a0a
mov ebx, dword [0x51b6b4]
mov ebp, dword [0x51b788]
sal ebx, 2
mov dword [ebp + ebx], 0
push dword [0x51b754]
mov edx, 0x414183
pop ecx
call fcn.0051f090
je 0x401a34
mov ebx, dword [0x51b6b4]
mov ebp, dword [0x51b790]
sal ebx, 2
mov dword [ebp + ebx], 0
push 0
call fcn.00411ce0
push eax
mov ebx, dword [0x51b6b4]
mov ebp, dword [0x51b778]
sal ebx, 2
pop dword [ebp + ebx]
push dword [0x51be34]
push dword [0x51be34]
push 0
mov ebx, dword [0x51b6b4]
sal ebx, 2
mov eax, dword [ebp + ebx]
cdq
push edx
push eax
call fcn.004054e0
sub esp, 4
inc dword [0x51be34]
mov edx, dword [0x518b1c]
add dword [esp], edx
call fcn.004050d0
pop dword [0x51be34]
push eax
mov ebx, dword [0x51b6b4]
sal ebx, 2
pop dword [ebp + ebx]
inc dword [0x51b6b4]
jmp 0x401986
push 0
call fcn.00411ad7
push 0x83
mov ebx, dword [0x51b634]
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x3d
mov ebx, dword [0x51b634]
inc ebx
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 2
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x3f
mov ebx, dword [0x51b634]
add ebx, 3
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 5
mov ebx, dword [0x51b634]
add ebx, 4
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xe
mov ebx, dword [0x51b634]
add ebx, 5
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 1
mov ebx, dword [0x51b634]
add ebx, 6
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x75
mov ebx, dword [0x51b634]
add ebx, 7
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xa
mov ebx, dword [0x51b634]
add ebx, 8
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xc7
mov ebx, dword [0x51b634]
add ebx, 9
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x81
mov ebx, dword [0x51b634]
add ebx, 0xa
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xe4
mov ebx, dword [0x51b634]
add ebx, 0xb
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 5
mov ebx, dword [0x51b634]
add ebx, 0xc
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0xd
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0xe
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0xf
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x50
mov ebx, dword [0x51b634]
add ebx, 0x10
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xc3
mov ebx, dword [0x51b634]
add ebx, 0x11
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x47
mov ebx, dword [0x51b634]
add ebx, 0x12
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xd8
mov ebx, dword [0x51b634]
add ebx, 0x13
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xb1
mov ebx, dword [0x51b634]
add ebx, 0x14
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xe4
mov ebx, dword [0x51b634]
add ebx, 0x15
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 5
mov ebx, dword [0x51b634]
add ebx, 0x16
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x17
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x18
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xc3
mov ebx, dword [0x51b634]
add ebx, 0x19
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x1a
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x1b
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x1c
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x1d
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x1e
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x1f
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x83
mov ebx, dword [0x51b634]
add ebx, 0x20
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x3d
mov ebx, dword [0x51b634]
add ebx, 0x21
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 4
mov ebx, dword [0x51b634]
add ebx, 0x22
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x3f
mov ebx, dword [0x51b634]
add ebx, 0x23
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 5
mov ebx, dword [0x51b634]
add ebx, 0x24
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xe
mov ebx, dword [0x51b634]
add ebx, 0x25
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 1
mov ebx, dword [0x51b634]
add ebx, 0x26
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x75
mov ebx, dword [0x51b634]
add ebx, 0x27
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xa
mov ebx, dword [0x51b634]
add ebx, 0x28
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xc7
mov ebx, dword [0x51b634]
add ebx, 0x29
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x86
mov ebx, dword [0x51b634]
add ebx, 0x2a
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xf0
mov ebx, dword [0x51b634]
add ebx, 0x2b
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x2c
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x2d
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x2e
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xe8
mov ebx, dword [0x51b634]
add ebx, 0x2f
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 3
mov ebx, dword [0x51b634]
add ebx, 0x30
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x31
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x32
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x8b
mov ebx, dword [0x51b634]
add ebx, 0x33
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x9e
mov ebx, dword [0x51b634]
add ebx, 0x34
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xf0
mov ebx, dword [0x51b634]
add ebx, 0x35
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x36
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x37
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x38
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xeb
mov ebx, dword [0x51b634]
add ebx, 0x39
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x25
mov ebx, dword [0x51b634]
add ebx, 0x3a
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x90
mov ebx, dword [0x51b634]
add ebx, 0x3b
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x3c
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x3d
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x3e
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x3f
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x83
mov ebx, dword [0x51b634]
add ebx, 0x40
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x3d
mov ebx, dword [0x51b634]
add ebx, 0x41
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 8
mov ebx, dword [0x51b634]
add ebx, 0x42
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x3f
mov ebx, dword [0x51b634]
add ebx, 0x43
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 5
mov ebx, dword [0x51b634]
add ebx, 0x44
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xe
mov ebx, dword [0x51b634]
add ebx, 0x45
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 1
mov ebx, dword [0x51b634]
add ebx, 0x46
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x75
mov ebx, dword [0x51b634]
add ebx, 0x47
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xa
mov ebx, dword [0x51b634]
add ebx, 0x48
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xc7
mov ebx, dword [0x51b634]
add ebx, 0x49
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x86
mov ebx, dword [0x51b634]
add ebx, 0x4a
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xe4
mov ebx, dword [0x51b634]
add ebx, 0x4b
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 5
mov ebx, dword [0x51b634]
add ebx, 0x4c
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x4d
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x4e
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x4f
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x50
mov ebx, dword [0x51b634]
add ebx, 0x50
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xc3
mov ebx, dword [0x51b634]
add ebx, 0x51
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x47
mov ebx, dword [0x51b634]
add ebx, 0x52
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xd8
mov ebx, dword [0x51b634]
add ebx, 0x53
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xb6
mov ebx, dword [0x51b634]
add ebx, 0x54
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xe8
mov ebx, dword [0x51b634]
add ebx, 0x55
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 5
mov ebx, dword [0x51b634]
add ebx, 0x56
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x57
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x58
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xc3
mov ebx, dword [0x51b634]
add ebx, 0x59
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x5a
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x5b
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x5c
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x5d
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x5e
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x5f
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x83
mov ebx, dword [0x51b634]
add ebx, 0x60
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x3d
mov ebx, dword [0x51b634]
add ebx, 0x61
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xc
mov ebx, dword [0x51b634]
add ebx, 0x62
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x3f
mov ebx, dword [0x51b634]
add ebx, 0x63
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 5
mov ebx, dword [0x51b634]
add ebx, 0x64
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xe
mov ebx, dword [0x51b634]
add ebx, 0x65
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 1
mov ebx, dword [0x51b634]
add ebx, 0x66
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x75
mov ebx, dword [0x51b634]
add ebx, 0x67
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xa
mov ebx, dword [0x51b634]
add ebx, 0x68
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xc7
mov ebx, dword [0x51b634]
add ebx, 0x69
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x86
mov ebx, dword [0x51b634]
add ebx, 0x6a
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xa8
mov ebx, dword [0x51b634]
add ebx, 0x6b
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x6c
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x6d
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x6e
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xe8
mov ebx, dword [0x51b634]
add ebx, 0x6f
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 3
mov ebx, dword [0x51b634]
add ebx, 0x70
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x71
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x72
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xc3
mov ebx, dword [0x51b634]
add ebx, 0x73
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x74
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x75
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x76
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x77
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x78
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x79
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x7a
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x7b
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x7c
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x7d
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x7e
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x7f
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x83
mov ebx, dword [0x51b634]
add ebx, 0x80
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x3d
mov ebx, dword [0x51b634]
add ebx, 0x81
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x10
mov ebx, dword [0x51b634]
add ebx, 0x82
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x3f
mov ebx, dword [0x51b634]
add ebx, 0x83
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 5
mov ebx, dword [0x51b634]
add ebx, 0x84
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xe
mov ebx, dword [0x51b634]
add ebx, 0x85
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 1
mov ebx, dword [0x51b634]
add ebx, 0x86
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x75
mov ebx, dword [0x51b634]
add ebx, 0x87
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xe
mov ebx, dword [0x51b634]
add ebx, 0x88
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x85
mov ebx, dword [0x51b634]
add ebx, 0x89
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xc9
mov ebx, dword [0x51b634]
add ebx, 0x8a
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x74
mov ebx, dword [0x51b634]
add ebx, 0x8b
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xa
mov ebx, dword [0x51b634]
add ebx, 0x8c
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xc7
mov ebx, dword [0x51b634]
add ebx, 0x8d
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x81
mov ebx, dword [0x51b634]
add ebx, 0x8e
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xa8
mov ebx, dword [0x51b634]
add ebx, 0x8f
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x90
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x91
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x92
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xa
mov ebx, dword [0x51b634]
add ebx, 0x93
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x94
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x95
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x96
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x8b
mov ebx, dword [0x51b634]
add ebx, 0x97
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xb6
mov ebx, dword [0x51b634]
add ebx, 0x98
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xc4
mov ebx, dword [0x51b634]
add ebx, 0x99
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x9a
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x9b
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0
mov ebx, dword [0x51b634]
add ebx, 0x9c
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0xc3
mov ebx, dword [0x51b634]
add ebx, 0x9d
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push dword [0x51b708]
push 0x9e
push dword [0x51b634]
mov ebx, dword [0x51b64c]
add ebx, 0x1091
push ebx
push dword [0x51b61c]
call sub.KERNEL32.dll_WriteProcessMemory
mov dword [0x51b744], eax
mov ebx, dword [0x51b64c]
add ebx, 0x3f00
push ebx
mov eax, dword [0x51b634]
call fcn.0051f070
mov dword [0x51b744], eax
push dword [0x51b708]
push 4
push dword [0x51b634]
mov ebx, dword [0x51b64c]
add ebx, 0x1093
push ebx
push dword [0x51b61c]
call sub.KERNEL32.dll_WriteProcessMemory
mov dword [0x51b744], eax
mov ebx, dword [0x51b64c]
add ebx, 0x3f04
push ebx
mov eax, dword [0x51b634]
call fcn.0051f070
mov dword [0x51b744], eax
push dword [0x51b708]
push 4
push dword [0x51b634]
mov ebx, dword [0x51b64c]
add ebx, 0x10b3
push ebx
push dword [0x51b61c]
call sub.KERNEL32.dll_WriteProcessMemory
mov dword [0x51b744], eax
mov ebx, dword [0x51b64c]
add ebx, 0x3f08
push ebx
mov eax, dword [0x51b634]
call fcn.0051f070
mov dword [0x51b744], eax
push dword [0x51b708]
push 4
push dword [0x51b634]
mov ebx, dword [0x51b64c]
add ebx, 0x10d3
push ebx
push dword [0x51b61c]
call sub.KERNEL32.dll_WriteProcessMemory
mov dword [0x51b744], eax
mov ebx, dword [0x51b64c]
add ebx, 0x3f0c
push ebx
mov eax, dword [0x51b634]
call fcn.0051f070
mov dword [0x51b744], eax
push dword [0x51b708]
push 4
push dword [0x51b634]
mov ebx, dword [0x51b64c]
add ebx, 0x10f3
push ebx
push dword [0x51b61c]
call sub.KERNEL32.dll_WriteProcessMemory
mov dword [0x51b744], eax
mov ebx, dword [0x51b64c]
add ebx, 0x3f10
push ebx
mov eax, dword [0x51b634]
call fcn.0051f070
mov dword [0x51b744], eax
push dword [0x51b708]
push 4
push dword [0x51b634]
mov ebx, dword [0x51b64c]
add ebx, 0x1113
push ebx
push dword [0x51b61c]
call sub.KERNEL32.dll_WriteProcessMemory
mov dword [0x51b744], eax
push 0xe8
mov ebx, dword [0x51b634]
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x90
mov ebx, dword [0x51b634]
inc ebx
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x90
mov ebx, dword [0x51b634]
add ebx, 2
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x90
mov ebx, dword [0x51b634]
add ebx, 3
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x90
mov ebx, dword [0x51b634]
add ebx, 4
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x90
mov ebx, dword [0x51b634]
add ebx, 5
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push dword [0x51b708]
push 6
push dword [0x51b634]
mov ebx, dword [0x51b72c]
add ebx, 0x1aef62
push ebx
push dword [0x51b61c]
call sub.KERNEL32.dll_WriteProcessMemory
mov dword [0x51b744], eax
mov ebx, dword [0x51b64c]
add ebx, 0x10b1
mov edi, dword [0x51b72c]
add edi, 0x1aef62
sub ebx, edi
add ebx, 0xfffffffb
push ebx
mov eax, dword [0x51b634]
call fcn.0051f070
mov dword [0x51b744], eax
push dword [0x51b708]
push 4
push dword [0x51b634]
mov ebx, dword [0x51b72c]
add ebx, 0x1aef63
push ebx
push dword [0x51b61c]
call sub.KERNEL32.dll_WriteProcessMemory
mov dword [0x51b744], eax
push 0xe8
mov ebx, dword [0x51b634]
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x90
mov ebx, dword [0x51b634]
inc ebx
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x90
mov ebx, dword [0x51b634]
add ebx, 2
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x90
mov ebx, dword [0x51b634]
add ebx, 3
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x90
mov ebx, dword [0x51b634]
add ebx, 4
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x90
mov ebx, dword [0x51b634]
add ebx, 5
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push dword [0x51b708]
push 6
push dword [0x51b634]
mov ebx, dword [0x51b72c]
add ebx, 0x1ae73f
push ebx
push dword [0x51b61c]
call sub.KERNEL32.dll_WriteProcessMemory
mov dword [0x51b744], eax
mov ebx, dword [0x51b64c]
add ebx, 0x1091
mov edi, dword [0x51b72c]
add edi, 0x1ae73f
sub ebx, edi
add ebx, 0xfffffffb
push ebx
mov eax, dword [0x51b634]
call fcn.0051f070
mov dword [0x51b744], eax
push dword [0x51b708]
push 4
push dword [0x51b634]
mov ebx, dword [0x51b72c]
add ebx, 0x1ae740
push ebx
push dword [0x51b61c]
call sub.KERNEL32.dll_WriteProcessMemory
mov dword [0x51b744], eax
push 0xe8
mov ebx, dword [0x51b634]
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x90
mov ebx, dword [0x51b634]
inc ebx
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x90
mov ebx, dword [0x51b634]
add ebx, 2
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x90
mov ebx, dword [0x51b634]
add ebx, 3
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x90
mov ebx, dword [0x51b634]
add ebx, 4
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x90
mov ebx, dword [0x51b634]
add ebx, 5
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push dword [0x51b708]
push 6
push dword [0x51b634]
mov ebx, dword [0x51b72c]
add ebx, 0xfc067
push ebx
push dword [0x51b61c]
call sub.KERNEL32.dll_WriteProcessMemory
mov dword [0x51b744], eax
mov ebx, dword [0x51b64c]
add ebx, 0x10d1
mov edi, dword [0x51b72c]
add edi, 0xfc067
sub ebx, edi
add ebx, 0xfffffffb
push ebx
mov eax, dword [0x51b634]
call fcn.0051f070
mov dword [0x51b744], eax
push dword [0x51b708]
push 4
push dword [0x51b634]
mov ebx, dword [0x51b72c]
add ebx, 0xfc068
push ebx
push dword [0x51b61c]
call sub.KERNEL32.dll_WriteProcessMemory
mov dword [0x51b744], eax
push 0xe8
mov ebx, dword [0x51b634]
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x90
mov ebx, dword [0x51b634]
inc ebx
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x90
mov ebx, dword [0x51b634]
add ebx, 2
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x90
mov ebx, dword [0x51b634]
add ebx, 3
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x90
mov ebx, dword [0x51b634]
add ebx, 4
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push 0x90
mov ebx, dword [0x51b634]
add ebx, 5
mov eax, ebx
call fcn.0051f060
mov dword [0x51b744], eax
push dword [0x51b708]
push 6
push dword [0x51b634]
mov ebx, dword [0x51b72c]
add ebx, 0xfbdf8
push ebx
push dword [0x51b61c]
call sub.KERNEL32.dll_WriteProcessMemory
mov dword [0x51b744], eax
mov ebx, dword [0x51b64c]
add ebx, 0x1111
mov edi, dword [0x51b72c]
add edi, 0xfbdf8
sub ebx, edi
add ebx, 0xfffffffb
push ebx
mov eax, dword [0x51b634]
call fcn.0051f070
mov dword [0x51b744], eax
push dword [0x51b708]
push 4
push dword [0x51b634]
mov ebx, dword [0x51b72c]
add ebx, 0xfbdf9
push ebx
push dword [0x51b61c]
call sub.KERNEL32.dll_WriteProcessMemory
mov dword [0x51b744], eax
mov dword [0x51b734], 0
mov eax, 0xff
cmp eax, dword [0x51b734]
jl 0x403163
push dword [0x51b734]
call sub.USER32.dll_GetAsyncKeyState
inc dword [0x51b734]
jmp 0x403143
mov ebp, dword [0x51b778]
push dword [ebp + 4]
call sub.USER32.dll_GetAsyncKeyState
push eax
mov ebp, dword [0x51b798]
pop dword [ebp + 4]
mov ebp, dword [0x51b778]
push dword [ebp + 8]
call sub.USER32.dll_GetAsyncKeyState
push eax
mov ebp, dword [0x51b798]
pop dword [ebp + 8]
mov ebp, dword [0x51b778]
push dword [ebp + 0xc]
call sub.USER32.dll_GetAsyncKeyState
push eax
mov ebp, dword [0x51b798]
pop dword [ebp + 0xc]
mov ebp, dword [0x51b778]
push dword [ebp + 0x10]
call sub.USER32.dll_GetAsyncKeyState
push eax
mov ebp, dword [0x51b798]
pop dword [ebp + 0x10]
mov ebp, dword [0x51b778]
push dword [ebp + 0x14]
call sub.USER32.dll_GetAsyncKeyState
push eax
mov ebp, dword [0x51b798]
pop dword [ebp + 0x14]
mov ebp, dword [0x51b778]
push dword [ebp + 0x18]
call sub.USER32.dll_GetAsyncKeyState
push eax
mov ebp, dword [0x51b798]
pop dword [ebp + 0x18]
mov ebp, dword [0x51b778]
push dword [ebp + 0x1c]
call sub.USER32.dll_GetAsyncKeyState
push eax
mov ebp, dword [0x51b798]
pop dword [ebp + 0x1c]
mov ebp, dword [0x51b778]
push dword [ebp + 0x20]
call sub.USER32.dll_GetAsyncKeyState
push eax
mov ebp, dword [0x51b798]
pop dword [ebp + 0x20]
mov ebp, dword [0x51b778]
push dword [ebp + 0x24]
call sub.USER32.dll_GetAsyncKeyState
push eax
mov ebp, dword [0x51b798]
pop dword [ebp + 0x24]
mov ebp, dword [0x51b778]
push dword [ebp + 0x28]
call sub.USER32.dll_GetAsyncKeyState
push eax
mov ebp, dword [0x51b798]
pop dword [ebp + 0x28]
mov ebp, dword [0x51b778]
push dword [ebp + 0x2c]
call sub.USER32.dll_GetAsyncKeyState
push eax
mov ebp, dword [0x51b798]
pop dword [ebp + 0x2c]
mov ebp, dword [0x51b778]
push dword [ebp + 0x30]
call sub.USER32.dll_GetAsyncKeyState
push eax
mov ebp, dword [0x51b798]
pop dword [ebp + 0x30]
push 0x10
call sub.USER32.dll_GetAsyncKeyState
mov dword [0x51b6f0], eax
push 0x11
call sub.USER32.dll_GetAsyncKeyState
mov dword [0x51b6bc], eax
push 0x12
call sub.USER32.dll_GetAsyncKeyState
mov dword [0x51b6b8], eax
mov ebp, dword [0x51b778]
push dword [ebp + 4]
call sub.USER32.dll_GetAsyncKeyState
mov ebx, eax
mov ebp, dword [0x51b780]
mov edi, dword [ebp + 4]
add edi, dword [0x51b6f0]
imul ebx, edi
mov ebp, dword [0x51b788]
mov edi, dword [ebp + 4]
add edi, dword [0x51b6bc]
imul ebx, edi
mov ebp, dword [0x51b790]
mov edi, dword [ebp + 4]
add edi, dword [0x51b6b8]
imul ebx, edi
mov dword [0x51b6c0], ebx
mov ebx, dword [0x51b6c0]
and ebx, ebx
je 0x4033ee
push dword [0x51b6a4]
xor ebx, ebx
cmp ebx, dword [esp]
jne 0x40337e
mov dword [0x51b6a4], 1
push 1
mov eax, dword [0x51b634]
call fcn.0051f070
mov dword [0x51b744], eax
push dword [0x51b708]
push 1
push dword [0x51b634]
mov ebx, dword [0x51b64c]
add ebx, 0x3f00
push ebx
push dword [0x51b61c]
call sub.KERNEL32.dll_WriteProcessMemory
mov dword [0x51b744], eax
push 0
push 0
call fcn.00405da0
mov eax, 0x12c
call fcn.0051f050
jmp 0x4033ed
mov ebx, 1
cmp ebx, dword [esp]
jne 0x4033ed
mov dword [0x51b6a4], 0
push 0
mov eax, dword [0x51b634]
call fcn.0051f070
mov dword [0x51b744], eax
push dword [0x51b708]
push 1
push dword [0x51b634]
mov ebx, dword [0x51b64c]
add ebx, 0x3f00
push ebx
push dword [0x51b61c]
call sub.KERNEL32.dll_WriteProcessMemory
mov dword [0x51b744], eax
push 0
push 1
call fcn.00405da0
mov eax, 0x12c
call fcn.0051f050
pop eax
mov ebp, dword [0x51b778]
push dword [ebp + 8]
call sub.USER32.dll_GetAsyncKeyState
mov ebx, eax
mov ebp, dword [0x51b780]
mov edi, dword [ebp + 8]
add edi, dword [0x51b6f0]
imul ebx, edi
mov ebp, dword [0x51b788]
mov edi, dword [ebp + 8]
add edi, dword [0x51b6bc]
imul ebx, edi
mov ebp, dword [0x51b790]
mov edi, dword [ebp + 8]
add edi, dword [0x51b6b8]
imul ebx, edi
mov dword [0x51b6d0], ebx
mov ebx, dword [0x51b6d0]
and ebx, ebx
je 0x40352c
push dword [0x51b618]
xor ebx, ebx
cmp ebx, dword [esp]
jne 0x4034bc
mov dword [0x51b618], 1
push 1
mov eax, dword [0x51b634]
call fcn.0051f070
mov dword [0x51b744], eax
push dword [0x51b708]
push 1
push dword [0x51b634]
mov ebx, dword [0x51b64c]
add ebx, 0x3f04
push ebx
push dword [0x51b61c]
call sub.KERNEL32.dll_WriteProcessMemory
mov dword [0x51b744], eax
push 0
push 0
call fcn.00405da0
mov eax, 0x12c
call fcn.0051f050
jmp 0x40352b
mov ebx, 1
cmp ebx, dword [esp]
jne 0x40352b
mov dword [0x51b618], 0
push 0
mov eax, dword [0x51b634]
call fcn.0051f070
mov dword [0x51b744], eax
push dword [0x51b708]
push 1
push dword [0x51b634]
mov ebx, dword [0x51b64c]
add ebx, 0x3f04
push ebx
push dword [0x51b61c]
call sub.KERNEL32.dll_WriteProcessMemory
mov dword [0x51b744], eax
push 0
push 1
call fcn.00405da0
mov eax, 0x12c
call fcn.0051f050
pop eax
mov ebp, dword [0x51b778]
push dword [ebp + 0xc]
call sub.USER32.dll_GetAsyncKeyState
mov ebx, eax
mov ebp, dword [0x51b780]
mov edi, dword [ebp + 0xc]
add edi, dword [0x51b6f0]
imul ebx, edi
mov ebp, dword [0x51b788]
mov edi, dword [ebp + 0xc]
add edi, dword [0x51b6bc]
imul ebx, edi
mov ebp, dword [0x51b790]
mov edi, dword [ebp + 0xc]
add edi, dword [0x51b6b8]
imul ebx, edi
mov dword [0x51b6d4], ebx
mov ebx, dword [0x51b6d4]
and ebx, ebx
je 0x40366a
push dword [0x51b630]
xor ebx, ebx
cmp ebx, dword [esp]
jne 0x4035fa
mov dword [0x51b630], 1
push 1
mov eax, dword [0x51b634]
call fcn.0051f070
mov dword [0x51b744], eax
push dword [0x51b708]
push 1
push dword [0x51b634]
mov ebx, dword [0x51b64c]
add ebx, 0x3f08
push ebx
push dword [0x51b61c]
call sub.KERNEL32.dll_WriteProcessMemory
mov dword [0x51b744], eax
push 0
push 0
call fcn.00405da0
mov eax, 0x12c
call fcn.0051f050
jmp 0x403669
mov ebx, 1
cmp ebx, dword [esp]
jne 0x403669
mov dword [0x51b630], 0
push 0
mov eax, dword [0x51b634]
call fcn.0051f070
mov dword [0x51b744], eax
push dword [0x51b708]
push 1
push dword [0x51b634]
mov ebx, dword [0x51b64c]
add ebx, 0x3f08
push ebx
push dword [0x51b61c]
call sub.KERNEL32.dll_WriteProcessMemory
mov dword [0x51b744], eax
push 0
push 1
call fcn.00405da0
mov eax, 0x12c
call fcn.0051f050
pop eax
mov ebp, dword [0x51b778]
push dword [ebp + 0x10]
call sub.USER32.dll_GetAsyncKeyState
mov ebx, eax
mov ebp, dword [0x51b780]
mov edi, dword [ebp + 0x10]
add edi, dword [0x51b6f0]
imul ebx, edi
mov ebp, dword [0x51b788]
mov edi, dword [ebp + 0x10]
add edi, dword [0x51b6bc]
imul ebx, edi
mov ebp, dword [0x51b790]
mov edi, dword [ebp + 0x10]
add edi, dword [0x51b6b8]
imul ebx, edi
mov dword [0x51b6d8], ebx
mov ebx, dword [0x51b6d8]
and ebx, ebx
je 0x4037a8
push dword [0x51b748]
xor ebx, ebx
cmp ebx, dword [esp]
jne 0x403738
mov dword [0x51b748], 1
push 1
mov eax, dword [0x51b634]
call fcn.0051f070
mov dword [0x51b744], eax
push dword [0x51b708]
push 1
push dword [0x51b634]
mov ebx, dword [0x51b64c]
add ebx, 0x3f0c
push ebx
push dword [0x51b61c]
call sub.KERNEL32.dll_WriteProcessMemory
mov dword [0x51b744], eax
push 0
push 0
call fcn.00405da0
mov eax, 0x12c
call fcn.0051f050
jmp 0x4037a7
mov ebx, 1
cmp ebx, dword [esp]
jne 0x4037a7
mov dword [0x51b748], 0
push 0
mov eax, dword [0x51b634]
call fcn.0051f070
mov dword [0x51b744], eax
push dword [0x51b708]
push 1
push dword [0x51b634]
mov ebx, dword [0x51b64c]
add ebx, 0x3f0c
push ebx
push dword [0x51b61c]
call sub.KERNEL32.dll_WriteProcessMemory
mov dword [0x51b744], eax
push 0
push 1
call fcn.00405da0
mov eax, 0x12c
call fcn.0051f050
pop eax
mov ebp, dword [0x51b778]
push dword [ebp + 0x14]
call sub.USER32.dll_GetAsyncKeyState
mov ebx, eax
mov ebp, dword [0x51b780]
mov edi, dword [ebp + 0x14]
add edi, dword [0x51b6f0]
imul ebx, edi
mov ebp, dword [0x51b788]
mov edi, dword [ebp + 0x14]
add edi, dword [0x51b6bc]
imul ebx, edi
mov ebp, dword [0x51b790]
mov edi, dword [ebp + 0x14]
add edi, dword [0x51b6b8]
imul ebx, edi
mov dword [0x51b6dc], ebx
mov ebx, dword [0x51b6dc]
and ebx, ebx
je 0x4038e6
push dword [0x51b6a0]
xor ebx, ebx
cmp ebx, dword [esp]
jne 0x403876
mov dword [0x51b6a0], 1
push 1
mov eax, dword [0x51b634]
call fcn.0051f070
mov dword [0x51b744], eax
push dword [0x51b708]
push 1
push dword [0x51b634]
mov ebx, dword [0x51b64c]
add ebx, 0x3f10
push ebx
push dword [0x51b61c]
call sub.KERNEL32.dll_WriteProcessMemory
mov dword [0x51b744], eax
push 0
push 0
call fcn.00405da0
mov eax, 0x12c
call fcn.0051f050
jmp 0x4038e5
mov ebx, 1
cmp ebx, dword [esp]
jne 0x4038e5
mov dword [0x51b6a0], 0
push 0
mov eax, dword [0x51b634]
call fcn.0051f070
mov dword [0x51b744], eax
push dword [0x51b708]
push 1
push dword [0x51b634]
mov ebx, dword [0x51b64c]
add ebx, 0x3f10
push ebx
push dword [0x51b61c]
call sub.KERNEL32.dll_WriteProcessMemory
mov dword [0x51b744], eax
push 0
push 1
call fcn.00405da0
mov eax, 0x12c
call fcn.0051f050
pop eax
mov ebp, dword [0x51b778]
push dword [ebp + 0x18]
call sub.USER32.dll_GetAsyncKeyState
mov ebx, eax
mov ebp, dword [0x51b780]
mov edi, dword [ebp + 0x18]
add edi, dword [0x51b6f0]
imul ebx, edi
mov ebp, dword [0x51b788]
mov edi, dword [ebp + 0x18]
add edi, dword [0x51b6bc]
imul ebx, edi
mov ebp, dword [0x51b790]
mov edi, dword [ebp + 0x18]
add edi, dword [0x51b6b8]
imul ebx, edi
mov dword [0x51b6e0], ebx
mov ebx, dword [0x51b6e0]
and ebx, ebx
je 0x40393c
mov ebp, dword [0x51b778]
push dword [ebp + 0x1c]
call sub.USER32.dll_GetAsyncKeyState
mov ebx, eax
mov ebp, dword [0x51b780]
mov edi, dword [ebp + 0x1c]
add edi, dword [0x51b6f0]
imul ebx, edi
mov ebp, dword [0x51b788]
mov edi, dword [ebp + 0x1c]
add edi, dword [0x51b6bc]
imul ebx, edi
mov ebp, dword [0x51b790]
mov edi, dword [ebp + 0x1c]
add edi, dword [0x51b6b8]
imul ebx, edi
mov dword [0x51b6e4], ebx
mov ebx, dword [0x51b6e4]
and ebx, ebx
je 0x403992
mov ebp, dword [0x51b778]
push dword [ebp + 0x20]
call sub.USER32.dll_GetAsyncKeyState
mov ebx, eax
mov ebp, dword [0x51b780]
mov edi, dword [ebp + 0x20]
add edi, dword [0x51b6f0]
imul ebx, edi
mov ebp, dword [0x51b788]
mov edi, dword [ebp + 0x20]
add edi, dword [0x51b6bc]
imul ebx, edi
mov ebp, dword [0x51b790]
mov edi, dword [ebp + 0x20]
add edi, dword [0x51b6b8]
imul ebx, edi
mov dword [0x51b6e8], ebx
mov ebx, dword [0x51b6e8]
and ebx, ebx
je 0x4039e8
mov ebp, dword [0x51b778]
push dword [ebp + 0x24]
call sub.USER32.dll_GetAsyncKeyState
mov ebx, eax
mov ebp, dword [0x51b780]
mov edi, dword [ebp + 0x24]
add edi, dword [0x51b6f0]
imul ebx, edi
mov ebp, dword [0x51b788]
mov edi, dword [ebp + 0x24]
add edi, dword [0x51b6bc]
imul ebx, edi
mov ebp, dword [0x51b790]
mov edi, dword [ebp + 0x24]
add edi, dword [0x51b6b8]
imul ebx, edi
mov dword [0x51b6ec], ebx
mov ebx, dword [0x51b6ec]
and ebx, ebx
je 0x403a3e
mov ebp, dword [0x51b778]
push dword [ebp + 0x28]
call sub.USER32.dll_GetAsyncKeyState
mov ebx, eax
mov ebp, dword [0x51b780]
mov edi, dword [ebp + 0x28]
add edi, dword [0x51b6f0]
imul ebx, edi
mov ebp, dword [0x51b788]
mov edi, dword [ebp + 0x28]
add edi, dword [0x51b6bc]
imul ebx, edi
mov ebp, dword [0x51b790]
mov edi, dword [ebp + 0x28]
add edi, dword [0x51b6b8]
imul ebx, edi
mov dword [0x51b6c4], ebx
mov ebx, dword [0x51b6c4]
and ebx, ebx
je 0x403a94
mov ebp, dword [0x51b778]
push dword [ebp + 0x2c]
call sub.USER32.dll_GetAsyncKeyState
mov ebx, eax
mov ebp, dword [0x51b780]
mov edi, dword [ebp + 0x2c]
add edi, dword [0x51b6f0]
imul ebx, edi
mov ebp, dword [0x51b788]
mov edi, dword [ebp + 0x2c]
add edi, dword [0x51b6bc]
imul ebx, edi
mov ebp, dword [0x51b790]
mov edi, dword [ebp + 0x2c]
add edi, dword [0x51b6b8]
imul ebx, edi
mov dword [0x51b6c8], ebx
mov ebx, dword [0x51b6c8]
and ebx, ebx
je 0x403aea
mov ebp, dword [0x51b778]
push dword [ebp + 0x30]
call sub.USER32.dll_GetAsyncKeyState
mov ebx, eax
mov ebp, dword [0x51b780]
mov edi, dword [ebp + 0x30]
add edi, dword [0x51b6f0]
imul ebx, edi
mov ebp, dword [0x51b788]
mov edi, dword [ebp + 0x30]
add edi, dword [0x51b6bc]
imul ebx, edi
mov ebp, dword [0x51b790]
mov edi, dword [ebp + 0x30]
add edi, dword [0x51b6b8]
imul ebx, edi
mov dword [0x51b6cc], ebx
mov ebx, dword [0x51b6cc]
and ebx, ebx
je 0x403b40
mov dword [0x51b6c0], 0
mov dword [0x51b6d0], 0
mov dword [0x51b6d4], 0
mov dword [0x51b6d8], 0
mov dword [0x51b6dc], 0
mov dword [0x51b6e0], 0
mov dword [0x51b6e4], 0
mov dword [0x51b6e8], 0
mov dword [0x51b6ec], 0
mov dword [0x51b6c4], 0
mov dword [0x51b6c8], 0
mov dword [0x51b6cc], 0
call fcn.004045d8
mov eax, 1
call fcn.0051f050
jmp 0x403139
push 0
call 0x4048e1
push dword [0x51b5f8]
call sub.KERNEL32.dll_HeapDestroy
call sub.KERNEL32.dll_ExitProcess
call fcn.00405b09
call fcn.004069b4
call fcn.00406a84
call fcn.0040f37f
call fcn.004103eb
call fcn.00411b2d
call fcn.0041232c
ret