Function at 0x471020
Capabilities:
Access peb ldr_data
Get ntdll base address
Resolve function by parsing pe exports

Disassembly:
mov eax, dword fs:[0]
push 0xffffffffffffffff
push 0x512388
push eax
mov dword fs:[0], esp
sub esp, 8
push ebx
push esi
mov esi, ecx
push edi
xor eax, eax
mov ecx, 0x191
mov edi, esi
mov dword [esi + 0x644], 0xffffffff
rep stosd dword es:[edi], eax
mov ecx, 0x530208
mov eax, str.High
mov edx, str.Medium
mov dword [esi], str.English
mov dword [esi + 4], 0x5301ec
mov dword [esi + 8], str.Are_you_sure_
mov dword [esi + 0xc], 0x5247d4
mov dword [esi + 0x10], 0x5247d0
mov dword [esi + 0x14], 0x5301d8
mov dword [esi + 0x18], str.Done
mov dword [esi + 0x1c], 0x5301cc
mov dword [esi + 0x20], 0x5301c8
mov dword [esi + 0x24], 0x5301c0
mov dword [esi + 0x28], str.Next___a
mov dword [esi + 0x2c], 0x5301ac
mov dword [esi + 0x30], str.Finish
mov dword [esi + 0x34], str._t__Help
mov dword [esi + 0x38], 0x530194
mov dword [esi + 0x3c], str.Loading...
mov dword [esi + 0x40], ecx
mov dword [esi + 0x44], eax
mov dword [esi + 0x48], str.320x240
mov dword [esi + 0x4c], str.640x480
mov dword [esi + 0x50], str.800x600
mov dword [esi + 0x54], str.1024x768
mov dword [esi + 0x58], ecx
mov dword [esi + 0x5c], eax
mov dword [esi + 0x60], str.Very_high
mov dword [esi + 0x64], str.Dial_up__56k_
mov dword [esi + 0x68], str.ISDN
mov dword [esi + 0x6c], str.Cable_ADSL
mov dword [esi + 0x70], str.T1_LAN
mov dword [esi + 0x74], str.Short
mov dword [esi + 0x78], edx
mov dword [esi + 0x7c], str.Long
mov dword [esi + 0x80], str.Advanced_Options
mov dword [esi + 0x84], str.Video_mode
mov dword [esi + 0x88], str.Screen_resolution
mov dword [esi + 0x8c], str.Full_screen
mov dword [esi + 0x90], str.Run_game_full_screen_or_in_a_window
mov dword [esi + 0x94], str.V_Sync
mov dword [esi + 0x98], str.Use_vertical_sync_for_slower_but_smoother_display
mov dword [esi + 0x9c], str.Maximum_fps
mov dword [esi + 0xa0], str.Limits_the_number_of_frames_rendered_per_second
mov dword [esi + 0xa4], str.Bilinear_filter
mov dword [esi + 0xa8], str.Enable_bilinear_texture_filtering
mov dword [esi + 0xac], str.Show_fps
mov dword [esi + 0xb0], str.Shows_on_screen_frame_rate_counter
mov dword [esi + 0xb4], str.Apply
mov dword [esi + 0xb8], str.Language
mov dword [esi + 0xbc], str.Please_restart_the_gameand_select_your_new_language.
mov dword [esi + 0xc0], str.Gameplay
mov dword [esi + 0xc4], str.Graphics
mov dword [esi + 0xc8], str.Sound
mov dword [esi + 0xcc], str.Detail
mov dword [esi + 0xd0], str.Controls_the_amount_of_graphical_detail_and_special_effects
mov dword [esi + 0xd4], str.Audio_quality
mov dword [esi + 0xd8], str.Overall_sound_quality__requires_restart_
mov dword [esi + 0xdc], str.Sound_volume
mov dword [esi + 0xe0], str.Music_volume
mov dword [esi + 0xe4], str.In_game_music
mov dword [esi + 0xe8], str.Enables_music_while_youre_playing
mov dword [esi + 0xec], str.Controls
mov dword [esi + 0xf0], str.Press_the_new_key_or_joystick_button_for_this_control
mov dword [esi + 0xf4], str.Move_up
mov dword [esi + 0xf8], str.Move_down
mov dword [esi + 0xfc], str.Move_left
mov dword [esi + 0x100], str.Move_right
mov dword [esi + 0x104], str.Fire
mov dword [esi + 0x108], str.Missile
mov dword [esi + 0x10c], str.In_game_chat
mov dword [esi + 0x110], str.In_game_menu
mov dword [esi + 0x114], str.Bring_up_menu_while_playing__cant_be_changed_
mov dword [esi + 0x118], str.Emergency_stop
mov dword [esi + 0x11c], str.Immediately_stops_any_game_in_progress__cant_be_changed_
mov dword [esi + 0x120], str.Ctrl_X
mov dword [esi + 0x124], str.Sensitivity
mov dword [esi + 0x128], str.Selects_the_sensitivity_of_spaceship_controls
mov dword [esi + 0x12c], str.Minimum
mov dword [esi + 0x130], ecx
mov dword [esi + 0x134], edx
mov dword [esi + 0x138], eax
mov dword [esi + 0x13c], str.Maximum
mov dword [esi + 0x140], str.Upload_scores
mov dword [esi + 0x144], str.Add_your_scores_to_the_internet_high_score_tables
mov dword [esi + 0x148], str.Your_scores_will_now_be_uploaded
mov dword [esi + 0x14c], str.to_the_InterAction_Studios_website.
mov dword [esi + 0x150], str.Please_connect_to_the_internet_before_proceeding.
mov dword [esi + 0x154], str.Reset_scores
mov dword [esi + 0x158], str.Clears_all_high_scores
mov dword [esi + 0x15c], str.Allow_cheats
mov dword [esi + 0x160], str.Enable_in_game_cheat_keys
mov dword [esi + 0x164], str.In_game_help
mov dword [esi + 0x168], str.Show_game_instructions_and_tips_as_you_play
mov dword [esi + 0x16c], str.Swap_mouse_buttons
mov dword [esi + 0x170], str.Swap_the_function_of_the_left_and_right_mouse_buttons
mov dword [esi + 0x174], str.Save_the_World
mov dword [esi + 0x178], str.Hall_of_Fame
mov dword [esi + 0x17c], str.Options
mov dword [esi + 0x180], str.Options...
mov dword [esi + 0x184], str.Start_Game
mov dword [esi + 0x188], str.Fly_solo
mov dword [esi + 0x18c], str.Save_the_world_single_handedly__Youre_the_greatest_
mov dword [esi + 0x190], str.In_house_multiplayer
mov dword [esi + 0x194], str.Play_with_other_people_in_your_Local_Area_Network__LAN_.
mov dword [esi + 0x198], str.Friends_multiplayer
mov dword [esi + 0x19c], str.Play_with_your_friends_over_the_Internet.
mov dword [esi + 0x1a0], str.Internet_multiplayer
mov dword [esi + 0x1a4], str.Play_with_random_people_over_the_Internet.
mov dword [esi + 0x1a8], str.Playback
mov dword [esi + 0x1ac], str.Play_back_a_previously_recorded_game.
mov dword [esi + 0x1b0], str.Network_Wizard
mov dword [esi + 0x1b4], str.Network_Wizard...
mov dword [esi + 0x1b8], str.Authorization_code
mov dword [esi + 0x1bc], str.Type_in_your_authorization_code_here
mov dword [esi + 0x1c0], str.Your_country
mov dword [esi + 0x1c4], str.Tip:_Press_a_letter_key_to_jump_directly_to_a_country
mov dword [esi + 0x1c8], str.This_feature_is_only_available_in_the_full_registered_version_
mov dword [esi + 0x1cc], str.Enter_your_name:
mov dword [esi + 0x1d0], str.Players
mov dword [esi + 0x1d4], str.Click_here_to_change_players.
mov dword [esi + 0x1d8], str.Hello___s_
mov dword [esi + 0x1dc], 0x52f8cc
mov dword [esi + 0x1e0], str.Delete
mov dword [esi + 0x1e4], str.Chicken_Invaders
mov dword [esi + 0x1e8], str.Revenge_of_the_Yolk
mov dword [esi + 0x1ec], str.REVENGE_OF_THE_YOLK
mov dword [esi + 0x1f0], 0x52f854
mov dword [esi + 0x1f4], str.Credits
mov dword [esi + 0x1f8], str.Game_Design_
mov dword [esi + 0x1fc], str.Programming_
mov dword [esi + 0x200], str.and_Artwork
mov dword [esi + 0x204], str.Konstantinos_Prouskas
mov dword [esi + 0x208], str.Music
mov dword [esi + 0x20c], str.2dB_Music_Production
mov dword [esi + 0x210], str.Mike_Watts__Encore_Music
mov dword [esi + 0x214], str.Research
mov dword [esi + 0x218], str.Jan_Van_Billy
mov dword [esi + 0x21c], str.Logistics
mov dword [esi + 0x220], str.Bella_Smerniotou
mov dword [esi + 0x224], str.Special_Thanks
mov dword [esi + 0x228], str.Michael_Huang
mov dword [esi + 0x22c], str.Quality_Assurance
mov dword [esi + 0x230], str.Gerardo_Adesso
mov dword [esi + 0x234], str.Francesco_Beccari
mov dword [esi + 0x238], str.Deborah_Blake
mov dword [esi + 0x23c], str.Benny_Blue
mov dword [esi + 0x240], str.Jason_Blue
mov dword [esi + 0x244], str.Andrew_Burton
mov dword [esi + 0x248], str.Dedi_Cohen
mov dword [esi + 0x24c], str.Michael_English
mov dword [esi + 0x250], str.Eric_Fisk
mov dword [esi + 0x254], str.Christie_Fisk
mov dword [esi + 0x258], str.Gerson_Samuel_Fuchs
mov dword [esi + 0x25c], str.Ori_Gil
mov dword [esi + 0x260], str.Alexander_Hamilton
mov dword [esi + 0x264], str.June_E._Hawkins_Brown
mov dword [esi + 0x268], str.Tim_Ikabu
mov dword [esi + 0x26c], str.Nemanja_Jovanovic
mov dword [esi + 0x270], str.Kelly_Kovar
mov dword [esi + 0x274], str.Jack_Kovar
mov dword [esi + 0x278], str.Adam_Martinez
mov dword [esi + 0x27c], str.James_Mignone
mov dword [esi + 0x280], str.Jesse_Mills
mov dword [esi + 0x284], str.Steve_Mortlock
mov dword [esi + 0x288], str.Anna_Navarro
mov dword [esi + 0x28c], str.Brandon_Nuckel
mov dword [esi + 0x290], str.Roger_Ong
mov dword [esi + 0x294], str.David_Ortmann
mov dword [esi + 0x298], str.Soeren_Ovesen
mov dword [esi + 0x29c], str.Brad_Pike
mov dword [esi + 0x2a0], str.Ray_Porter
mov dword [esi + 0x2a4], str.Dave_Pyatt
mov dword [esi + 0x2a8], str.Jordan_Pyatt
mov dword [esi + 0x2ac], str.Louise_Pyatt
mov dword [esi + 0x2b0], str.Jonah_Saltzman
mov dword [esi + 0x2b4], str.Diogo_Santos
mov dword [esi + 0x2b8], str.Jonathan_Saville
mov dword [esi + 0x2bc], str.Kat_Shank
mov dword [esi + 0x2c0], str.Sandy_Tisdall_Tait
mov dword [esi + 0x2c4], str.Trent_Tait
mov dword [esi + 0x2c8], str.Krishn_Mohan_Tripathi
mov dword [esi + 0x2cc], str.Bearton_de_Vear
mov dword [esi + 0x2d0], str.Noa_Weisbrot
mov dword [esi + 0x2d4], str.John_Young
mov dword [esi + 0x2d8], str.Donna_Young
mov dword [esi + 0x2dc], str.Patrick_Young
mov dword [esi + 0x2e0], str.Prologue
mov dword [esi + 0x2e4], str.The_Great_Unknown
mov dword [esi + 0x2e8], str.Cygnus_Galactic_Arm
mov dword [esi + 0x2ec], str.Perseus_Galactic_Arm
mov dword [esi + 0x2f0], str.Norma_Galactic_Arm
mov dword [esi + 0x2f4], str.Comet_Chase
mov dword [esi + 0x2f8], str.Scutum_Crux_Galactic_Arm
mov dword [esi + 0x2fc], str.Sagittarius_Galactic_Arm
mov dword [esi + 0x300], str.Orion_Galactic_Arm
mov dword [esi + 0x304], str.Sirius
mov dword [esi + 0x308], str.Meteor_Storm
mov dword [esi + 0x30c], str.Alpha_Centauri
mov dword [esi + 0x310], str.The_Solar_System
mov dword [esi + 0x314], str.Ion_Blaster
mov dword [esi + 0x318], str.Neutron_Gun
mov dword [esi + 0x31c], str.Laser_Cannon
mov dword [esi + 0x320], str.Vulcan_Chaingun
mov dword [esi + 0x324], str.Lightning_Frier
mov dword [esi + 0x328], str.Plasma_Rifle
mov dword [esi + 0x32c], str.Utensil_Poker
mov dword [esi + 0x330], str.Game_Over_
mov dword [esi + 0x334], str.Paused
mov dword [esi + 0x338], str.Resume_game
mov dword [esi + 0x33c], str.Continue_playing
mov dword [esi + 0x340], str.Abort_game
mov dword [esi + 0x344], str.Quit_game
mov dword [esi + 0x348], str.Leave_current_game__your_progress_is_saved_
mov dword [esi + 0x34c], 0x5245f0
mov dword [esi + 0x350], str.UNKNOWN
mov dword [esi + 0x354], 0x52f2d8
mov dword [esi + 0x358], 0x52f2d4
mov dword [esi + 0x35c], 0x52f2d0
mov dword [esi + 0x360], 0x52f2cc
mov dword [esi + 0x364], 0x52f2c8
mov dword [esi + 0x368], 0x52f2c4
mov dword [esi + 0x36c], 0x52f2c0
mov dword [esi + 0x370], 0x52f2bc
mov dword [esi + 0x374], 0x52f2b8
mov dword [esi + 0x378], 0x52f2b4
mov dword [esi + 0x37c], str.0987654321
mov dword [esi + 0x380], str.MINUS
mov dword [esi + 0x384], str.EQUALS
mov dword [esi + 0x388], str.BACKSPACE
mov dword [esi + 0x38c], 0x52f290
mov dword [esi + 0x390], 0x52f28c
mov dword [esi + 0x394], 0x52f288
mov dword [esi + 0x398], 0x52f284
mov dword [esi + 0x39c], 0x52f280
mov dword [esi + 0x3a0], 0x52f27c
mov dword [esi + 0x3a4], 0x52f278
mov dword [esi + 0x3a8], 0x52f274
mov dword [esi + 0x3ac], 0x52f270
mov dword [esi + 0x3b0], 0x52f26c
mov dword [esi + 0x3b4], str.POIUYTREWQ
mov dword [esi + 0x3b8], str.LBRACKET
mov dword [esi + 0x3bc], str.RBRACKET
mov dword [esi + 0x3c0], str.RETURN
mov dword [esi + 0x3c4], 0x52f23c
mov dword [esi + 0x3c8], 0x52f238
mov dword [esi + 0x3cc], 0x52f234
mov dword [esi + 0x3d0], 0x52f230
mov dword [esi + 0x3d4], 0x52f22c
mov dword [esi + 0x3d8], 0x52f228
mov dword [esi + 0x3dc], 0x52f224
mov dword [esi + 0x3e0], 0x52f220
mov dword [esi + 0x3e4], 0x52f21c
mov dword [esi + 0x3e8], str.LKJHGFDSA
mov dword [esi + 0x3ec], 0x52f20c
mov dword [esi + 0x3f0], 0x52f200
mov dword [esi + 0x3f4], 0x52f1f8
mov dword [esi + 0x3f8], 0x52f1f0
mov dword [esi + 0x3fc], 0x52f1e4
mov dword [esi + 0x400], 0x52f1e0
mov dword [esi + 0x404], 0x52f1dc
mov dword [esi + 0x408], 0x52f1d8
mov dword [esi + 0x40c], 0x52f1d4
mov dword [esi + 0x410], 0x52f1d0
mov dword [esi + 0x414], 0x52f1cc
mov dword [esi + 0x418], 0x52f1c8
mov dword [esi + 0x41c], 0x52f1c0
mov dword [esi + 0x420], 0x52f1b8
mov dword [esi + 0x424], 0x52f1b0
mov dword [esi + 0x428], 0x52f1a8
mov dword [esi + 0x42c], 0x52f19c
mov dword [esi + 0x430], 0x52f194
mov dword [esi + 0x434], 0x52f18c
mov dword [esi + 0x438], 0x52f184
mov dword [esi + 0x43c], 0x52f180
mov dword [esi + 0x440], 0x52f17c
mov dword [esi + 0x444], 0x52f178
mov dword [esi + 0x448], 0x52f174
mov dword [esi + 0x44c], 0x52f170
mov dword [esi + 0x450], 0x52f16c
mov dword [esi + 0x454], 0x52f168
mov dword [esi + 0x458], 0x52f164
mov dword [esi + 0x45c], 0x52f160
mov dword [esi + 0x460], 0x52f15c
mov dword [esi + 0x464], 0x52f154
mov dword [esi + 0x468], 0x52f14c
mov dword [esi + 0x46c], 0x52f144
mov dword [esi + 0x470], 0x52f13c
mov dword [esi + 0x474], 0x52f134
mov dword [esi + 0x478], 0x52f128
mov dword [esi + 0x47c], 0x52f120
mov dword [esi + 0x480], 0x52f118
mov dword [esi + 0x484], 0x52f110
mov dword [esi + 0x488], 0x52f10c
mov dword [esi + 0x48c], 0x52f104
mov dword [esi + 0x490], 0x52f0fc
mov dword [esi + 0x494], 0x52f0f4
mov dword [esi + 0x498], 0x52f0ec
mov dword [esi + 0x49c], 0x52f0e4
mov dword [esi + 0x4a0], 0x52f0dc
mov dword [esi + 0x4a4], 0x52f0d8
mov dword [esi + 0x4a8], 0x52f0d4
mov dword [esi + 0x4ac], 0x52f0d0
mov dword [esi + 0x4b0], 0x52f0cc
mov dword [esi + 0x4b4], 0x52f0c8
mov dword [esi + 0x4b8], 0x52f0c0
mov dword [esi + 0x4bc], 0x52f0b8
mov dword [esi + 0x4c0], 0x52f0b0
mov dword [esi + 0x4c4], 0x52f0a4
mov dword [esi + 0x4c8], 0x52f0a0
mov dword [esi + 0x4cc], 0x52f098
mov dword [esi + 0x4d0], 0x52f088
mov dword [esi + 0x4d4], 0x52f07c
mov dword [esi + 0x4d8], 0x52f078
mov dword [esi + 0x4dc], 0x52f070
mov dword [esi + 0x4e0], 0x52f064
mov dword [esi + 0x4e4], 0x52f05c
mov dword [esi + 0x4e8], 0x52f054
mov dword [esi + 0x4ec], 0x52f050
mov dword [esi + 0x4f0], 0x52f044
mov dword [esi + 0x4f4], 0x52f038
mov dword [esi + 0x4f8], 0x52f02c
mov dword [esi + 0x4fc], 0x52f020
mov dword [esi + 0x500], 0x52f018
mov dword [esi + 0x504], 0x52f00c
mov dword [esi + 0x508], 0x52f000
mov dword [esi + 0x50c], 0x52eff4
mov dword [esi + 0x510], 0x52efe8
mov dword [esi + 0x514], 0x52efdc
mov dword [esi + 0x518], 0x52efd4
mov dword [esi + 0x51c], 0x52efc8
mov dword [esi + 0x520], 0x52efc0
mov dword [esi + 0x524], 0x52efb8
mov dword [esi + 0x528], 0x52efb0
mov dword [esi + 0x52c], 0x52efa8
mov dword [esi + 0x530], 0x52efa0
mov dword [esi + 0x534], 0x52ef9c
mov dword [esi + 0x538], 0x52ef94
mov dword [esi + 0x53c], 0x52ef8c
mov dword [esi + 0x540], 0x52ef84
mov dword [esi + 0x544], 0x52ef80
mov dword [esi + 0x548], 0x52ef78
mov dword [esi + 0x54c], 0x52ef70
mov dword [esi + 0x550], 0x52ef68
mov dword [esi + 0x554], 0x52ef60
mov dword [esi + 0x558], 0x52ef58
mov dword [esi + 0x55c], 0x52ef50
mov dword [esi + 0x560], 0x52ef48
mov dword [esi + 0x564], 0x52ef40
mov dword [esi + 0x568], 0x52ef38
mov dword [esi + 0x56c], 0x52ef30
mov dword [esi + 0x570], 0x52ef24
mov dword [esi + 0x574], 0x52ef14
mov dword [esi + 0x578], 0x52ef08
mov dword [esi + 0x57c], 0x52ef00
mov dword [esi + 0x580], 0x52eef4
mov dword [esi + 0x584], 0x52eeec
mov dword [esi + 0x588], 0x52eee0
mov dword [esi + 0x58c], 0x52eed8
mov dword [esi + 0x590], 0x52eecc
mov dword [esi + 0x594], 0x52eec4
mov dword [esi + 0x598], 0x52eebc
mov dword [esi + 0x59c], 0x52eeb4
mov dword [esi + 0x5a0], 0x52eea8
mov dword [esi + 0x5a4], 0x52ee9c
mov dword [esi + 0x5a8], 0x52ee90
mov dword [esi + 0x5ac], 0x52ee84
mov dword [esi + 0x5b0], 0x52ee78
mov dword [esi + 0x5b4], 0x52ee6c
mov dword [esi + 0x5b8], 0x52ee60
mov dword [esi + 0x5bc], 0x52ee54
mov dword [esi + 0x5c0], 0x52ee48
mov dword [esi + 0x5c4], 0x52ee3c
mov dword [esi + 0x5c8], 0x52ee30
mov dword [esi + 0x5cc], 0x52ee24
mov dword [esi + 0x5d0], 0x52ee18
mov dword [esi + 0x5d4], 0x52ee0c
mov dword [esi + 0x5d8], 0x52ee00
mov dword [esi + 0x5dc], 0x52edf4
mov dword [esi + 0x5e0], 0x52ede8
mov dword [esi + 0x5e4], 0x52eddc
mov dword [esi + 0x5e8], 0x52edd0
mov dword [esi + 0x5ec], 0x52edc4
mov dword [esi + 0x5f0], 0x52edb8
mov dword [esi + 0x5f4], 0x52edac
mov dword [esi + 0x5f8], 0x52eda0
mov dword [esi + 0x5fc], 0x52ed94
mov dword [esi + 0x600], 0x52ed88
mov dword [esi + 0x604], 0x52ed7c
mov dword [esi + 0x608], 0x52ed70
mov dword [esi + 0x60c], 0x52ed64
mov dword [esi + 0x610], 0x52ed58
mov dword [esi + 0x614], 0x52ed4c
mov dword [esi + 0x618], 0x52ed40
mov dword [esi + 0x61c], 0x52ed34
mov dword [esi + 0x620], 0x52ed28
mov dword [esi + 0x624], 0x52ed20
mov dword [esi + 0x628], 0x52ed14
mov dword [esi + 0x62c], 0x52ed08
mov dword [esi + 0x630], 0x52ecfc
mov dword [esi + 0x634], 0x52ecec
mov dword [esi + 0x638], 0x52ecdc
mov dword [esi + 0x63c], 0x52eccc
mov dword [esi + 0x640], 0x52ecbc
xor edi, edi
mov ebx, esi
mov edi, edi
cmp dword [ebx], 0
jne 0x472023
push 0x2e
push str.languageLanguage.cpp
push str.Language::Language
push 0
push edi
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x52ec68
call fcn.00402110
mov ecx, dword [0x55cd0c]
lea eax, [esp + 0x24]
push eax
push ecx
call fcn.004a7680
add esp, 0x14
mov edx, dword [eax]
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x5234e8
mov dword [esp + 0x34], 0
call fcn.00402110
mov eax, dword [0x55cd0c]
mov ecx, dword [eax + 0x860]
push ecx
call fcn.0044ce20
mov eax, dword [esp + 0x24]
add eax, 0xfffffff0
add esp, 0x18
mov dword [esp + 0x1c], 0xffffffff
lea edx, [eax + 0xc]
or ecx, 0xffffffff
lock xadd dword [edx], ecx
dec ecx
test ecx, ecx
jg 0x472023
mov ecx, dword [eax]
mov edx, dword [ecx]
push eax
call dword [edx + 4]
inc edi
add ebx, 4
cmp edi, 0x191
jl 0x471f90
mov ecx, dword [esp + 0x14]
pop edi
mov eax, esi
pop esi
mov dword fs:[0], ecx
pop ebx
add esp, 0x14
ret