Function at 0x41ded0
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x45ab01
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x1c
push ebx
push ebp
push esi
push edi
push 0x98
mov esi, ecx
call fcn.0044b938
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov dword [esp + 0x34], 0
je 0x41df1a
mov ecx, eax
call fcn.0042e230
jmp 0x41df1c
xor eax, eax
mov dword [0x47c170], eax
mov eax, dword [eax + 0x88]
or ebp, 0xffffffff
mov dword [esp + 0x34], ebp
mov byte [eax + 0x829], 1
call fcn.004564cc
mov eax, dword [eax + 4]
mov ecx, dword [eax + 0x1c]
push 5
call fcn.0044c3d9
call fcn.004564cc
mov eax, dword [eax + 4]
mov eax, dword [eax + 0x1c]
mov ecx, dword [eax + 0x1c]
push ecx
call dword [sym.imp.user32.dll_UpdateWindow]
push ecx
mov ecx, esp
mov dword [esp + 0x1c], esp
push str.ChickenInvaders2.dat
call fcn.00402330
mov edx, dword [0x47c170]
mov ecx, dword [edx + 0x18]
call fcn.00414450
mov ecx, esi
call fcn.0041b160
push 0x98
call fcn.0044b938
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov dword [esp + 0x34], 1
je 0x41dfbd
mov ecx, dword [esi + 0x814]
push ecx
push 0x4052c000
push 0
push 0x40740000
push 0
mov ecx, eax
call fcn.0042a6e0
jmp 0x41dfbf
xor eax, eax
lea edi, [esi + 0x14]
push eax
mov ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0x18
call fcn.0044b938
add esp, 4
mov dword [esp + 0x18], eax
test eax, eax
mov dword [esp + 0x34], 2
je 0x41dff7
mov ecx, eax
call fcn.004375f0
mov ebx, eax
jmp 0x41dff9
xor ebx, ebx
push ebx
mov ecx, edi
mov dword [esp + 0x1c], ebx
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0xc8
call fcn.0044b938
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
mov dword [esp + 0x34], 3
je 0x41e02f
mov ecx, eax
call fcn.00401c50
jmp 0x41e031
xor eax, eax
lea edi, [ebx + 0x10]
push eax
mov ecx, edi
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0x1b0
call fcn.0044b938
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
mov dword [esp + 0x34], 4
je 0x41e066
mov ecx, eax
call fcn.00405400
jmp 0x41e068
xor eax, eax
push eax
mov ecx, edi
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0x48
call fcn.0044b938
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
mov dword [esp + 0x34], 5
je 0x41e097
mov ecx, eax
call fcn.00406990
jmp 0x41e099
xor eax, eax
mov dword [esi + 0xa6c], eax
mov dword [eax + 0x20], ebx
mov edx, dword [esi + 0xa6c]
mov eax, dword [esp + 0x14]
mov dword [edx + 0x24], eax
mov ecx, dword [esi + 0xa6c]
push 0xb0
mov dword [esp + 0x38], ebp
mov byte [ecx + 0x1c], 1
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x1c], edi
test edi, edi
mov dword [esp + 0x34], 6
je 0x41e11c
mov edx, dword [0x47c158]
mov eax, dword [edx + 0x800]
push 0x412e847e
push 0
push 0
push 0
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x38], esp
push str.authorization_code
call fcn.00402330
push 0x4067c000
push 0
push 0x40740000
push 0
mov ecx, edi
call fcn.0042b020
jmp 0x41e11e
xor eax, eax
mov ecx, dword [esi + 0xa6c]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0xc0
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x20], edi
test edi, edi
mov ebx, 7
mov dword [esp + 0x34], ebx
je 0x41e199
push 0x13
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.enter_your_authorization_code_here
call fcn.00402330
push ecx
mov ecx, esp
mov dword [esp + 0x30], esp
push 0x46a4a8
mov byte [esp + 0x44], 8
call fcn.00402330
push 0x406f4000
push 0
push 0x40740000
push 0
lea ecx, [esi + 0x50]
push ecx
mov ecx, edi
mov byte [esp + 0x54], bl
call fcn.00423a40
jmp 0x41e19b
xor eax, eax
mov ecx, dword [esi + 0xa6c]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0xc8
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 9
mov dword [esp + 0x34], ebx
je 0x41e214
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x45d66d
call fcn.00402330
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.done
mov byte [esp + 0x40], 0xa
call fcn.00402330
push 0x40790000
push 0
push 0x40740000
push 0
push 0
mov ecx, edi
mov byte [esp + 0x50], bl
call fcn.00422410
mov edi, eax
jmp 0x41e216
xor edi, edi
mov eax, dword [esi + 0xa6c]
push edi
lea ecx, [eax + 0x10]
mov dword [esp + 0x38], ebp
call fcn.00401210
mov ebx, 0xd
push 0x48
mov byte [edi + 0xb8], bl
call fcn.0044b938
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
mov dword [esp + 0x34], 0xb
je 0x41e257
mov ecx, eax
call fcn.00406990
jmp 0x41e259
xor eax, eax
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esi + 0xa7c], eax
mov dword [eax + 0x20], edx
mov eax, dword [esi + 0xa7c]
mov dword [eax + 0x24], ecx
mov edx, dword [esi + 0xa7c]
push 0xb0
mov dword [esp + 0x38], ebp
mov byte [edx + 0x1c], 1
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov dword [esp + 0x34], 0xc
je 0x41e2df
mov eax, dword [0x47c158]
mov ecx, dword [eax + 0x800]
push 0x412e847e
push 0
push 0
push 0
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x38], esp
push str.country
call fcn.00402330
push 0x4067c000
push 0
push 0x40740000
push 0
mov ecx, edi
call fcn.0042b020
jmp 0x41e2e1
xor eax, eax
mov ecx, dword [esi + 0xa7c]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0xc8
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov dword [esp + 0x34], ebx
je 0x41e355
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.select_your_country_here
call fcn.00402330
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x46a4a8
mov byte [esp + 0x40], 0xe
call fcn.00402330
push 0x406f4000
push 0
push 0x40740000
push 0
lea edx, [esi + 0x74]
push edx
mov ecx, edi
mov byte [esp + 0x50], bl
call fcn.00422b80
jmp 0x41e357
xor eax, eax
mov ecx, dword [esi + 0xa7c]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0xc8
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0xf
mov dword [esp + 0x34], ebx
je 0x41e3ce
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x45d66d
call fcn.00402330
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.done
mov byte [esp + 0x40], 0x10
call fcn.00402330
push 0x40790000
push 0
push 0x40740000
push 0
push 0
mov ecx, edi
mov byte [esp + 0x50], bl
call fcn.00422410
jmp 0x41e3d0
xor eax, eax
mov ecx, dword [esi + 0xa7c]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0x48
call fcn.0044b938
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
mov dword [esp + 0x34], 0x11
je 0x41e406
mov ecx, eax
call fcn.00406990
jmp 0x41e408
xor eax, eax
mov ecx, dword [esp + 0x18]
mov dword [esi + 0xa70], eax
mov dword [eax + 0x20], ecx
mov edx, dword [esi + 0xa70]
mov eax, dword [esp + 0x14]
mov dword [edx + 0x24], eax
mov ecx, dword [esi + 0xa70]
push 0xb0
mov dword [esp + 0x38], ebp
mov byte [ecx + 0x1c], 1
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov dword [esp + 0x34], 0x12
je 0x41e48f
mov edx, dword [0x47c158]
mov eax, dword [edx + 0x800]
push 0x412e847e
push 0
push 0
push 0
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x38], esp
push str.upload_scores
call fcn.00402330
push 0x4067c000
push 0
push 0x40740000
push 0
mov ecx, edi
call fcn.0042b020
jmp 0x41e491
xor eax, eax
mov ecx, dword [esi + 0xa70]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0xb0
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov dword [esp + 0x34], 0x13
je 0x41e503
mov ecx, dword [0x47c158]
mov edx, dword [ecx + 0x804]
push 0x412e847e
push 0
push 0
push 0
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x38], esp
push str.your_scores_will_now_be_uploaded
call fcn.00402330
push 0x406e0000
push 0
push 0x40740000
push 0
mov ecx, edi
call fcn.0042b020
jmp 0x41e505
xor eax, eax
mov ecx, dword [esi + 0xa70]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0xb0
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov dword [esp + 0x34], 0x14
je 0x41e576
mov eax, dword [0x47c158]
mov ecx, dword [eax + 0x804]
push 0x412e847e
push 0
push 0
push 0
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x38], esp
push str.to_the_interaction_studios_website.
call fcn.00402330
push 0x40704000
push 0
push 0x40740000
push 0
mov ecx, edi
call fcn.0042b020
jmp 0x41e578
xor eax, eax
mov ecx, dword [esi + 0xa70]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0xb0
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov dword [esp + 0x34], 0x15
je 0x41e5ea
mov edx, dword [0x47c158]
mov eax, dword [edx + 0x808]
push 0x412e847e
push 0
push 0
push 0
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x38], esp
push str.please_connect_to_the_internet_before_proceeding.
call fcn.00402330
push 0x40727000
push 0
push 0x40740000
push 0
mov ecx, edi
call fcn.0042b020
jmp 0x41e5ec
xor eax, eax
mov ecx, dword [esi + 0xa70]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0xc8
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x16
mov dword [esp + 0x34], ebx
je 0x41e665
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x45d66d
call fcn.00402330
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x46a3f4
mov byte [esp + 0x40], 0x17
call fcn.00402330
push 0x40772000
push 0
push 0x40740000
push 0
push 0
mov ecx, edi
mov byte [esp + 0x50], bl
call fcn.00421ba0
mov edi, eax
jmp 0x41e667
xor edi, edi
mov eax, dword [esi + 0xa70]
push edi
lea ecx, [eax + 0x10]
mov dword [esp + 0x38], ebp
call fcn.00401210
mov ecx, dword [esi + 0xa74]
push 0xc8
mov dword [edi + 0xc0], ecx
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov dword [esp + 0x34], 0x18
je 0x41e6ea
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x45d66d
call fcn.00402330
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.cancel
mov byte [esp + 0x40], 0x19
call fcn.00402330
push 0x40790000
push 0
push 0x40740000
push 0
push 0
mov ecx, edi
mov byte [esp + 0x50], 0x18
call fcn.00422410
jmp 0x41e6ec
xor eax, eax
mov ecx, dword [esi + 0xa70]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0x48
call fcn.0044b938
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
mov dword [esp + 0x34], 0x1a
je 0x41e722
mov ecx, eax
call fcn.00406990
jmp 0x41e724
xor eax, eax
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esi + 0xa78], eax
mov dword [eax + 0x20], edx
mov eax, dword [esi + 0xa78]
mov dword [eax + 0x24], ecx
mov edx, dword [esi + 0xa78]
push 0xb0
mov dword [esp + 0x38], ebp
mov byte [edx + 0x1c], 1
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov dword [esp + 0x34], 0x1b
je 0x41e7aa
mov eax, dword [0x47c158]
mov ecx, dword [eax + 0x800]
push 0x412e847e
push 0
push 0
push 0
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x38], esp
push str.high_score_options
call fcn.00402330
push 0x4067c000
push 0
push 0x40740000
push 0
mov ecx, edi
call fcn.0042b020
jmp 0x41e7ac
xor eax, eax
mov ecx, dword [esi + 0xa78]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0xc0
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x1c
mov dword [esp + 0x34], ebx
je 0x41e823
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.delete_all_high_scores_from_the_hall_of_fame
call fcn.00402330
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.reset_scores
mov byte [esp + 0x40], 0x1d
call fcn.00402330
push 0x406f4000
push 0
push 0x40740000
push 0
push 0
mov ecx, edi
mov byte [esp + 0x50], bl
call fcn.00422550
jmp 0x41e825
xor eax, eax
mov ecx, dword [esi + 0xa78]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0xc8
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x1e
mov dword [esp + 0x34], ebx
je 0x41e89c
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x45d66d
call fcn.00402330
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.done
mov byte [esp + 0x40], 0x1f
call fcn.00402330
push 0x40790000
push 0
push 0x40740000
push 0
push 0
mov ecx, edi
mov byte [esp + 0x50], bl
call fcn.00422410
jmp 0x41e89e
xor eax, eax
mov ecx, dword [esi + 0xa78]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0x50
call fcn.0044b938
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
mov dword [esp + 0x34], 0x20
je 0x41e8d4
mov ecx, eax
call fcn.00409460
jmp 0x41e8d6
xor eax, eax
mov edi, dword [esp + 0x18]
mov ebx, dword [esp + 0x14]
mov dword [esi + 0x81c], eax
mov dword [eax + 0x20], edi
mov edx, dword [esi + 0x81c]
mov dword [edx + 0x24], ebx
mov eax, dword [esi + 0x81c]
push 0x48
mov dword [esp + 0x38], ebp
mov byte [eax + 0x1c], 1
call fcn.0044b938
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
mov dword [esp + 0x34], 0x21
je 0x41e921
mov ecx, eax
call fcn.00406990
jmp 0x41e923
xor eax, eax
mov dword [esi + 0x820], eax
mov dword [eax + 0x20], edi
mov ecx, dword [esi + 0x820]
mov dword [ecx + 0x24], ebx
mov edx, dword [esi + 0x820]
push 0xb0
mov dword [esp + 0x38], ebp
mov byte [edx + 0x1c], 1
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov dword [esp + 0x34], 0x22
je 0x41e9a1
mov eax, dword [0x47c158]
mov ecx, dword [eax + 0x800]
push 0x412e847e
push 0
push 0
push 0
push ecx
push ecx
mov ecx, esp
mov dword [esp + 0x38], esp
push str.left_player
call fcn.00402330
push 0x40640000
push 0
push 0x406ae000
push 0
mov ecx, edi
call fcn.0042b020
jmp 0x41e9a3
xor eax, eax
mov ecx, dword [esi + 0x820]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0xc8
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x23
mov dword [esp + 0x34], ebx
je 0x41ea21
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.move_spaceship_left
call fcn.00402330
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x46a374
mov byte [esp + 0x44], 0x24
call fcn.00402330
push 0x406b8000
push 0
push 0x406ae000
push 0
lea edx, [esi + 0x6f0]
push edx
mov ecx, edi
mov byte [esp + 0x54], bl
call fcn.00423850
jmp 0x41ea23
xor eax, eax
mov ecx, dword [esi + 0x820]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0xc8
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x25
mov dword [esp + 0x34], ebx
je 0x41eaa1
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.move_spaceship_right
call fcn.00402330
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x46a358
mov byte [esp + 0x44], 0x26
call fcn.00402330
push 0x406f4000
push 0
push 0x406ae000
push 0
lea eax, [esi + 0x6f8]
push eax
mov ecx, edi
mov byte [esp + 0x54], bl
call fcn.00423850
jmp 0x41eaa3
xor eax, eax
mov ecx, dword [esi + 0x820]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0xc8
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x27
mov dword [esp + 0x34], ebx
je 0x41eb21
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.move_spaceship_up
call fcn.00402330
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x46a340
mov byte [esp + 0x44], 0x28
call fcn.00402330
push 0x40718000
push 0
push 0x406ae000
push 0
lea ecx, [esi + 0x6e0]
push ecx
mov ecx, edi
mov byte [esp + 0x54], bl
call fcn.00423850
jmp 0x41eb23
xor eax, eax
mov ecx, dword [esi + 0x820]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0xc8
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x29
mov dword [esp + 0x34], ebx
je 0x41eba1
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.move_spaceship_down
call fcn.00402330
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x46a328
mov byte [esp + 0x44], 0x2a
call fcn.00402330
push 0x40736000
push 0
push 0x406ae000
push 0
lea edx, [esi + 0x6e8]
push edx
mov ecx, edi
mov byte [esp + 0x54], bl
call fcn.00423850
jmp 0x41eba3
xor eax, eax
mov ecx, dword [esi + 0x820]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0xc8
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x2b
mov dword [esp + 0x34], ebx
je 0x41ec21
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.fire_main_guns
call fcn.00402330
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.fire
mov byte [esp + 0x44], 0x2c
call fcn.00402330
push 0x40754000
push 0
push 0x406ae000
push 0
lea eax, [esi + 0x700]
push eax
mov ecx, edi
mov byte [esp + 0x54], bl
call fcn.00423850
jmp 0x41ec23
xor eax, eax
mov ecx, dword [esi + 0x820]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0xc8
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x2d
mov dword [esp + 0x34], ebx
je 0x41eca1
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.fire_missile
call fcn.00402330
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.missile
mov byte [esp + 0x44], 0x2e
call fcn.00402330
push 0x40772000
push 0
push 0x406ae000
push 0
lea ecx, [esi + 0x708]
push ecx
mov ecx, edi
mov byte [esp + 0x54], bl
call fcn.00423850
jmp 0x41eca3
xor eax, eax
mov ecx, dword [esi + 0x820]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0xb0
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov dword [esp + 0x34], 0x2f
je 0x41ed15
mov edx, dword [0x47c158]
mov eax, dword [edx + 0x800]
push 0x412e847e
push 0
push 0
push 0
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x38], esp
push str.right_player
call fcn.00402330
push 0x40640000
push 0
push 0x407a9000
push 0
mov ecx, edi
call fcn.0042b020
jmp 0x41ed17
xor eax, eax
mov ecx, dword [esi + 0x820]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0xc8
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x30
mov dword [esp + 0x34], ebx
je 0x41ed95
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.move_spaceship_left
call fcn.00402330
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x46a374
mov byte [esp + 0x44], 0x31
call fcn.00402330
push 0x406b8000
push 0
push 0x407a9000
push 0
lea ecx, [esi + 0x6f4]
push ecx
mov ecx, edi
mov byte [esp + 0x54], bl
call fcn.00423850
jmp 0x41ed97
xor eax, eax
mov ecx, dword [esi + 0x820]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0xc8
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x32
mov dword [esp + 0x34], ebx
je 0x41ee15
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.move_spaceship_right
call fcn.00402330
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x46a358
mov byte [esp + 0x44], 0x33
call fcn.00402330
push 0x406f4000
push 0
push 0x407a9000
push 0
lea edx, [esi + 0x6fc]
push edx
mov ecx, edi
mov byte [esp + 0x54], bl
call fcn.00423850
jmp 0x41ee17
xor eax, eax
mov ecx, dword [esi + 0x820]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0xc8
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x34
mov dword [esp + 0x34], ebx
je 0x41ee95
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.move_spaceship_up
call fcn.00402330
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x46a340
mov byte [esp + 0x44], 0x35
call fcn.00402330
push 0x40718000
push 0
push 0x407a9000
push 0
lea eax, [esi + 0x6e4]
push eax
mov ecx, edi
mov byte [esp + 0x54], bl
call fcn.00423850
jmp 0x41ee97
xor eax, eax
mov ecx, dword [esi + 0x820]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0xc8
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x36
mov dword [esp + 0x34], ebx
je 0x41ef15
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.move_spaceship_down
call fcn.00402330
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push 0x46a328
mov byte [esp + 0x44], 0x37
call fcn.00402330
push 0x40736000
push 0
push 0x407a9000
push 0
lea ecx, [esi + 0x6ec]
push ecx
mov ecx, edi
mov byte [esp + 0x54], bl
call fcn.00423850
jmp 0x41ef17
xor eax, eax
mov ecx, dword [esi + 0x820]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0xc8
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x38
mov dword [esp + 0x34], ebx
je 0x41ef95
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.fire_main_guns
call fcn.00402330
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.fire
mov byte [esp + 0x44], 0x39
call fcn.00402330
push 0x40754000
push 0
push 0x407a9000
push 0
lea edx, [esi + 0x704]
push edx
mov ecx, edi
mov byte [esp + 0x54], bl
call fcn.00423850
jmp 0x41ef97
xor eax, eax
mov ecx, dword [esi + 0x820]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0xc8
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x3a
mov dword [esp + 0x34], ebx
je 0x41f015
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.fire_missile
call fcn.00402330
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.missile
mov byte [esp + 0x44], 0x3b
call fcn.00402330
push 0x40772000
push 0
push 0x407a9000
push 0
lea eax, [esi + 0x70c]
push eax
mov ecx, edi
mov byte [esp + 0x54], bl
call fcn.00423850
jmp 0x41f017
xor eax, eax
mov ecx, dword [esi + 0x820]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0xc8
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x3c
mov dword [esp + 0x34], ebx
je 0x41f08e
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.return_to_options_menu
call fcn.00402330
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.done
mov byte [esp + 0x40], 0x3d
call fcn.00402330
push 0x407ae000
push 0
push 0x40740000
push 0
push 0
mov ecx, edi
mov byte [esp + 0x50], bl
call fcn.00422410
jmp 0x41f090
xor eax, eax
mov ecx, dword [esi + 0x820]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0x48
call fcn.0044b938
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
mov dword [esp + 0x34], 0x3e
je 0x41f0c6
mov ecx, eax
call fcn.00406990
jmp 0x41f0c8
xor eax, eax
mov ecx, dword [esp + 0x18]
mov dword [esi + 0x818], eax
mov dword [eax + 0x20], ecx
mov edx, dword [esi + 0x818]
mov eax, dword [esp + 0x14]
mov dword [edx + 0x24], eax
mov ecx, dword [esi + 0x818]
push 0xb0
mov dword [esp + 0x38], ebp
mov byte [ecx + 0x1c], 1
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov dword [esp + 0x34], 0x3f
je 0x41f14f
mov edx, dword [0x47c158]
mov eax, dword [edx + 0x800]
push 0x412e847e
push 0
push 0
push 0
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x38], esp
push str.options
call fcn.00402330
push 0x4067c000
push 0
push 0x40740000
push 0
mov ecx, edi
call fcn.0042b020
jmp 0x41f151
xor eax, eax
mov ecx, dword [esi + 0x818]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0xc8
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x40
mov dword [esp + 0x34], ebx
je 0x41f1cf
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.removes_optional_fire_and_smoke_effects
call fcn.00402330
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.low_detail
mov byte [esp + 0x44], 0x41
call fcn.00402330
push 0x406f4000
push 0
push 0x406ae000
push 0
lea ecx, [esi + 0x710]
push ecx
mov ecx, edi
mov byte [esp + 0x54], bl
call fcn.00423290
jmp 0x41f1d1
xor eax, eax
mov ecx, dword [esi + 0x818]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0xc8
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x42
mov dword [esp + 0x34], ebx
je 0x41f24f
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.full_special_effects
call fcn.00402330
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.high_detail
mov byte [esp + 0x44], 0x43
call fcn.00402330
push 0x406f4000
push 0
push 0x407a9000
push 0
lea edx, [esi + 0x710]
push edx
mov ecx, edi
mov byte [esp + 0x54], bl
call fcn.00423290
jmp 0x41f251
xor eax, eax
mov ecx, dword [esi + 0x818]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0xc8
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x44
mov dword [esp + 0x34], ebx
je 0x41f2cf
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.lives_are_separate_for_each_player
call fcn.00402330
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.individual_lives
mov byte [esp + 0x44], 0x45
call fcn.00402330
push 0x40718000
push 0
push 0x406ae000
push 0
lea eax, [esi + 0x714]
push eax
mov ecx, edi
mov byte [esp + 0x54], bl
call fcn.00423290
jmp 0x41f2d1
xor eax, eax
mov ecx, dword [esi + 0x818]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0xc8
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x46
mov dword [esp + 0x34], ebx
je 0x41f34f
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.lives_are_shared_between_the_two_players
call fcn.00402330
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.shared_lives
mov byte [esp + 0x44], 0x47
call fcn.00402330
push 0x40718000
push 0
push 0x407a9000
push 0
lea ecx, [esi + 0x714]
push ecx
mov ecx, edi
mov byte [esp + 0x54], bl
call fcn.00423290
jmp 0x41f351
xor eax, eax
mov ecx, dword [esi + 0x818]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0xc8
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov dword [esp + 0x34], 0x48
je 0x41f3cf
push 0
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.easy_game__suitable_for_newcomers_fresh_out_of_heroes_academy
call fcn.00402330
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.rookie_player
mov byte [esp + 0x44], 0x49
call fcn.00402330
push 0x40736000
push 0
push 0x406ae000
push 0
lea edx, [esi + 0x718]
push edx
mov ecx, edi
mov byte [esp + 0x54], 0x48
call fcn.00423290
jmp 0x41f3d1
xor eax, eax
mov ecx, dword [esi + 0x818]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0xc8
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x4a
mov dword [esp + 0x34], ebx
je 0x41f44f
push 1
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.hard_game__only_recommended_for_experienced_chicken_hunters
call fcn.00402330
push ecx
mov ecx, esp
mov dword [esp + 0x28], esp
push str.veteran_player
mov byte [esp + 0x44], 0x4b
call fcn.00402330
push 0x40736000
push 0
push 0x407a9000
push 0
lea eax, [esi + 0x718]
push eax
mov ecx, edi
mov byte [esp + 0x54], bl
call fcn.00423290
jmp 0x41f451
xor eax, eax
mov ecx, dword [esi + 0x818]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0xc8
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x4c
mov dword [esp + 0x34], ebx
je 0x41f4ca
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.redefine_keys
call fcn.00402330
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.controls...
mov byte [esp + 0x40], 0x4d
call fcn.00402330
push 0x40772000
push 0
push 0x40740000
push 0
push 0
mov ecx, edi
mov byte [esp + 0x50], bl
call fcn.00421ba0
mov edi, eax
jmp 0x41f4cc
xor edi, edi
mov eax, dword [esi + 0x818]
push edi
lea ecx, [eax + 0x10]
mov dword [esp + 0x38], ebp
call fcn.00401210
mov ecx, dword [esi + 0x820]
push 0xc8
mov dword [edi + 0xc0], ecx
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x4e
mov dword [esp + 0x34], ebx
je 0x41f54f
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.return_to_main_menu
call fcn.00402330
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.done
mov byte [esp + 0x40], 0x4f
call fcn.00402330
push 0x407ae000
push 0
push 0x40740000
push 0
push 0
mov ecx, edi
mov byte [esp + 0x50], bl
call fcn.00422410
jmp 0x41f551
xor eax, eax
mov ecx, dword [esi + 0x818]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0x48
call fcn.0044b938
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
mov dword [esp + 0x34], 0x50
je 0x41f587
mov ecx, eax
call fcn.00406990
jmp 0x41f589
xor eax, eax
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esi + 0x7f4], eax
mov dword [eax + 0x20], edx
mov eax, dword [esi + 0x7f4]
mov dword [eax + 0x24], ecx
mov edx, dword [esi + 0x7f4]
mov byte [edx + 0x1c], 1
mov eax, dword [esi + 0x7f4]
push 0xb0
mov dword [esp + 0x38], ebp
mov byte [eax + 0x1b], 1
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov dword [esp + 0x34], 0x51
je 0x41f61a
mov ecx, dword [0x47c158]
mov edx, dword [ecx + 0x800]
push 0x412e847e
push 0
push 0
push 0
push edx
push ecx
mov ecx, esp
mov dword [esp + 0x38], esp
push str.main_menu
call fcn.00402330
push 0x4067c000
push 0
push 0x40740000
push 0
mov ecx, edi
call fcn.0042b020
jmp 0x41f61c
xor eax, eax
mov ecx, dword [esi + 0x7f4]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0xc0
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x52
mov dword [esp + 0x34], ebx
je 0x41f693
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.start_game
call fcn.00402330
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.save_the_world
mov byte [esp + 0x40], 0x53
call fcn.00402330
push 0x406f4000
push 0
push 0x40740000
push 0
push 0
mov ecx, edi
mov byte [esp + 0x50], bl
call fcn.00422700
jmp 0x41f695
xor eax, eax
mov ecx, dword [esi + 0x7f4]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0xc0
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x54
mov dword [esp + 0x34], ebx
je 0x41f70c
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.view_high_scores
call fcn.00402330
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.hall_of_fame
mov byte [esp + 0x40], 0x55
call fcn.00402330
push 0x40718000
push 0
push 0x40740000
push 0
push 0
mov ecx, edi
mov byte [esp + 0x50], bl
call fcn.00421d20
jmp 0x41f70e
xor eax, eax
mov ecx, dword [esi + 0x7f4]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0xc8
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x56
mov dword [esp + 0x34], ebx
je 0x41f787
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.configure_game
call fcn.00402330
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.options
mov byte [esp + 0x40], 0x57
call fcn.00402330
push 0x40736000
push 0
push 0x40740000
push 0
push 0
mov ecx, edi
mov byte [esp + 0x50], bl
call fcn.00421ba0
mov edi, eax
jmp 0x41f789
xor edi, edi
mov eax, dword [esi + 0x7f4]
push edi
lea ecx, [eax + 0x10]
mov dword [esp + 0x38], ebp
call fcn.00401210
mov eax, dword [esi + 0x818]
push 0xc8
mov dword [edi + 0xc0], eax
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x58
mov dword [esp + 0x34], ebx
je 0x41f80c
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.leave_game
call fcn.00402330
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push str.quit
mov byte [esp + 0x40], 0x59
call fcn.00402330
push 0x40772000
push 0
push 0x40740000
push 0
push 0
mov ecx, edi
mov byte [esp + 0x50], bl
call fcn.00422410
jmp 0x41f80e
xor eax, eax
mov ecx, dword [esi + 0x7f4]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0xd0
call fcn.0044b938
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
mov dword [esp + 0x34], 0x5a
je 0x41f847
mov ecx, eax
call fcn.0040abd0
jmp 0x41f849
xor eax, eax
push 0x48
mov dword [esp + 0x38], ebp
mov dword [esi + 0x7f0], eax
call fcn.0044b938
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
mov dword [esp + 0x34], 0x5b
je 0x41f876
mov ecx, eax
call fcn.00406990
jmp 0x41f878
xor eax, eax
mov ecx, dword [esp + 0x18]
mov dword [esi + 0x7f8], eax
mov dword [eax + 0x20], ecx
mov edx, dword [esi + 0x7f8]
mov eax, dword [esp + 0x14]
mov dword [edx + 0x24], eax
mov ecx, dword [esi + 0x7f8]
push 0xb0
mov dword [esp + 0x38], ebp
mov byte [ecx + 0x1c], 1
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov dword [esp + 0x34], 0x5c
je 0x41f8ff
mov edx, dword [0x47c158]
mov eax, dword [edx + 0x800]
push 0x412e847e
push 0
push 0
push 0
push eax
push ecx
mov ecx, esp
mov dword [esp + 0x38], esp
push str.are_you_sure_
call fcn.00402330
push 0x4067c000
push 0
push 0x40740000
push 0
mov ecx, edi
call fcn.0042b020
jmp 0x41f901
xor eax, eax
mov ecx, dword [esi + 0x7f8]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0xc8
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x5d
mov dword [esp + 0x34], ebx
je 0x41f97a
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x45d66d
call fcn.00402330
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x46a0ac
mov byte [esp + 0x40], 0x5e
call fcn.00402330
push 0x406f4000
push 0
push 0x40740000
push 0
push 0
mov ecx, edi
mov byte [esp + 0x50], bl
call fcn.00422410
mov edi, eax
jmp 0x41f97c
xor edi, edi
mov eax, dword [esi + 0x7f8]
push edi
lea ecx, [eax + 0x10]
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0xc8
mov byte [edi + 0xc0], 1
mov byte [edi + 0xb8], 0x79
call fcn.0044b938
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x5f
mov dword [esp + 0x34], ebx
je 0x41fa03
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x45d66d
call fcn.00402330
push ecx
mov ecx, esp
mov dword [esp + 0x24], esp
push 0x46a0a8
mov byte [esp + 0x40], 0x60
call fcn.00402330
push 0x40718000
push 0
push 0x40740000
push 0
push 0
mov ecx, edi
mov byte [esp + 0x50], bl
call fcn.00422410
mov edi, eax
jmp 0x41fa05
xor edi, edi
mov eax, dword [esi + 0x7f8]
push edi
lea ecx, [eax + 0x10]
mov dword [esp + 0x38], ebp
call fcn.00401210
push str.ArmAccess
mov byte [edi + 0xb8], 0x6e
call dword [sym.imp.kernel32.dll_LoadLibraryA]
test eax, eax
mov dword [esi + 0xa80], eax
jne 0x41fa70
push 0x2a9
push str.Global.cpp
push str.Global::init
push str.DLLhandle_NULL
push str.Assertion_failed.
push ecx
mov ecx, esp
mov dword [esp + 0x3c], esp
push str.Error:__s_n_Statement:__s_n_Function:__s___n_File:__s_n_Line:__d
call fcn.00402330
mov ecx, dword [0x47c170]
mov edx, dword [ecx + 0x10]
push edx
call fcn.004130e0
add esp, 0x1c
mov eax, dword [esi + 0xa80]
push str.IncrementCounter
push eax
call dword [sym.imp.kernel32.dll_GetProcAddress]
test eax, eax
mov dword [esi + 0xa90], eax
jne 0x41fac8
push 0x2ab
push str.Global.cpp
push str.Global::init
push str.DLLfunction_NULL
push str.Assertion_failed.
push ecx
mov ecx, esp
mov dword [esp + 0x3c], esp
push str.Error:__s_n_Statement:__s_n_Function:__s___n_File:__s_n_Line:__d
call fcn.00402330
mov ecx, dword [0x47c170]
mov edx, dword [ecx + 0x10]
push edx
call fcn.004130e0
add esp, 0x1c
mov eax, dword [0x47c170]
mov ecx, dword [eax + 0x1c]
call fcn.0042d140
fadd qword [0x45dcb8]
mov ecx, dword [esp + 0x2c]
pop edi
fstp qword [esi + 0xa88]
mov dword fs:[0], ecx
pop esi
pop ebp
pop ebx
mov esp, ebp
pop ebp
ret