Function at 0x41deb0
Capabilities:
Get geographical location

Disassembly:
push ebp
mov ebp, esp
and esp, 0xfffffff8
push 0xffffffffffffffff
push 0x45ad5c
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.0044bba8
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
mov dword [esp + 0x34], 0
je 0x41defa
mov ecx, eax
call fcn.0042e4a0
jmp 0x41defc
xor eax, eax
mov dword [0x47c170], eax
mov eax, dword [eax + 0x88]
or ebx, 0xffffffff
mov dword [esp + 0x34], ebx
mov byte [eax + 0x829], 1
call fcn.0045673c
mov eax, dword [eax + 4]
mov ecx, dword [eax + 0x1c]
push 5
call fcn.0044c649
call fcn.0045673c
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 + 0x20], esp
push str.ChickenInvaders2Xmas.dat
call fcn.00402330
mov edx, dword [0x47c170]
mov ecx, dword [edx + 0x18]
call fcn.004143c0
mov ecx, esi
call fcn.0041b0d0
push 0x98
call fcn.0044bba8
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
mov dword [esp + 0x34], 1
je 0x41df9d
mov ecx, dword [esi + 0x814]
push ecx
push 0x4052c000
push 0
push 0x40740000
push 0
mov ecx, eax
call fcn.0042a950
jmp 0x41df9f
xor eax, eax
lea edi, [esi + 0x14]
push eax
mov ecx, edi
mov dword [esp + 0x18], eax
mov dword [esp + 0x38], ebx
call fcn.00401210
push 0x18
call fcn.0044bba8
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
mov dword [esp + 0x34], 2
je 0x41dfd5
mov ecx, eax
call fcn.00437860
jmp 0x41dfd7
xor eax, eax
push eax
mov ecx, edi
mov dword [esp + 0x1c], eax
mov dword [esp + 0x38], ebx
call fcn.00401210
push 0xc8
call fcn.0044bba8
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
mov dword [esp + 0x34], 3
je 0x41e00d
mov ecx, eax
call fcn.00401c50
jmp 0x41e00f
xor eax, eax
mov ebp, dword [esp + 0x18]
add ebp, 0x10
push eax
mov ecx, ebp
mov dword [esp + 0x38], ebx
call fcn.00401210
push 0x1b0
call fcn.0044bba8
add esp, 4
mov dword [esp + 0x1c], eax
test eax, eax
mov dword [esp + 0x34], 4
je 0x41e048
mov ecx, eax
call fcn.00405400
jmp 0x41e04a
xor eax, eax
push eax
mov ecx, ebp
mov dword [esp + 0x38], ebx
call fcn.00401210
mov dword [esp + 0x1c], 0x7d
mov edi, edi
push 0xb8
call fcn.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x20], edi
test edi, edi
mov dword [esp + 0x34], 5
je 0x41e096
call fcn.0043e942
cdq
mov ecx, 3
idiv ecx
mov ecx, edi
push edx
call fcn.00429ea0
jmp 0x41e098
xor eax, eax
push eax
mov ecx, ebp
mov dword [esp + 0x38], ebx
call fcn.00401210
dec dword [esp + 0x1c]
jne 0x41e060
push 0x48
call fcn.0044bba8
add esp, 4
mov dword [esp + 0x20], eax
test eax, eax
mov dword [esp + 0x34], 6
je 0x41e0cd
mov ecx, eax
call fcn.00406990
jmp 0x41e0cf
xor eax, eax
mov ebp, dword [esp + 0x18]
mov dword [esi + 0xa6c], eax
mov dword [eax + 0x20], ebp
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], ebx
mov byte [ecx + 0x1c], 1
call fcn.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x20], edi
test edi, edi
mov dword [esp + 0x34], 7
je 0x41e156
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 + 0x34], esp
push str.authorization_code
call fcn.00402330
push 0x4067c000
push 0
push 0x40740000
push 0
mov ecx, edi
call fcn.0042b290
jmp 0x41e158
xor eax, eax
mov ecx, dword [esi + 0xa6c]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebx
call fcn.00401210
push 0xc0
call fcn.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x20], edi
test edi, edi
mov dword [esp + 0x34], 8
je 0x41e1d3
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 0x46a6b8
mov byte [esp + 0x44], 9
call fcn.00402330
push 0x406f4000
push 0
push 0x40740000
push 0
lea ecx, [esi + 0x50]
push ecx
mov ecx, edi
mov byte [esp + 0x54], 8
call fcn.00423a70
jmp 0x41e1d5
xor eax, eax
mov ecx, dword [esi + 0xa6c]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebx
call fcn.00401210
push 0xc8
call fcn.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov dword [esp + 0x34], 0xa
je 0x41e24e
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], 0xb
call fcn.00402330
push 0x40790000
push 0
push 0x40740000
push 0
push 0
mov ecx, edi
mov byte [esp + 0x50], 0xa
call fcn.00422440
mov edi, eax
jmp 0x41e250
xor edi, edi
mov eax, dword [esi + 0xa6c]
push edi
lea ecx, [eax + 0x10]
mov dword [esp + 0x38], ebx
call fcn.00401210
push 0x48
mov byte [edi + 0xb8], 0xd
call fcn.0044bba8
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
mov dword [esp + 0x34], 0xc
je 0x41e28d
mov ecx, eax
call fcn.00406990
jmp 0x41e28f
xor eax, eax
mov dword [esi + 0xa7c], eax
mov dword [eax + 0x20], ebp
mov edx, dword [esi + 0xa7c]
mov eax, dword [esp + 0x14]
mov dword [edx + 0x24], eax
mov ecx, dword [esi + 0xa7c]
push 0xb0
mov dword [esp + 0x38], ebx
mov byte [ecx + 0x1c], 1
call fcn.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov dword [esp + 0x34], 0xd
je 0x41e312
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.country
call fcn.00402330
push 0x4067c000
push 0
push 0x40740000
push 0
mov ecx, edi
call fcn.0042b290
jmp 0x41e314
xor eax, eax
mov ecx, dword [esi + 0xa7c]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebx
call fcn.00401210
push 0xc8
call fcn.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov dword [esp + 0x34], 0xe
je 0x41e38d
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 0x46a6b8
mov byte [esp + 0x40], 0xf
call fcn.00402330
push 0x406f4000
push 0
push 0x40740000
push 0
lea ecx, [esi + 0x74]
push ecx
mov ecx, edi
mov byte [esp + 0x50], 0xe
call fcn.00422bb0
jmp 0x41e38f
xor eax, eax
mov ecx, dword [esi + 0xa7c]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebx
call fcn.00401210
push 0xc8
call fcn.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov dword [esp + 0x34], 0x10
je 0x41e406
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], 0x11
call fcn.00402330
push 0x40790000
push 0
push 0x40740000
push 0
push 0
mov ecx, edi
mov byte [esp + 0x50], 0x10
call fcn.00422440
jmp 0x41e408
xor eax, eax
mov ecx, dword [esi + 0xa7c]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebx
call fcn.00401210
push 0x48
call fcn.0044bba8
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
mov dword [esp + 0x34], 0x12
je 0x41e43e
mov ecx, eax
call fcn.00406990
jmp 0x41e440
xor eax, eax
mov dword [esi + 0xa70], eax
mov dword [eax + 0x20], ebp
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], ebx
mov byte [ecx + 0x1c], 1
call fcn.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov dword [esp + 0x34], 0x13
je 0x41e4c3
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.0042b290
jmp 0x41e4c5
xor eax, eax
mov ecx, dword [esi + 0xa70]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebx
call fcn.00401210
push 0xb0
call fcn.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov dword [esp + 0x34], 0x14
je 0x41e537
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.0042b290
jmp 0x41e539
xor eax, eax
mov ecx, dword [esi + 0xa70]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebx
call fcn.00401210
push 0xb0
call fcn.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov dword [esp + 0x34], 0x15
je 0x41e5aa
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.0042b290
jmp 0x41e5ac
xor eax, eax
mov ecx, dword [esi + 0xa70]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebx
call fcn.00401210
push 0xb0
call fcn.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov dword [esp + 0x34], 0x16
je 0x41e61e
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.0042b290
jmp 0x41e620
xor eax, eax
mov ecx, dword [esi + 0xa70]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebx
call fcn.00401210
push 0xc8
call fcn.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov dword [esp + 0x34], 0x17
je 0x41e699
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 0x46a604
mov byte [esp + 0x40], 0x18
call fcn.00402330
push 0x40772000
push 0
push 0x40740000
push 0
push 0
mov ecx, edi
mov byte [esp + 0x50], 0x17
call fcn.00421bd0
mov edi, eax
jmp 0x41e69b
xor edi, edi
mov eax, dword [esi + 0xa70]
push edi
lea ecx, [eax + 0x10]
mov dword [esp + 0x38], ebx
call fcn.00401210
mov ecx, dword [esi + 0xa74]
push 0xc8
mov dword [edi + 0xc0], ecx
call fcn.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov dword [esp + 0x34], 0x19
je 0x41e71e
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], 0x1a
call fcn.00402330
push 0x40790000
push 0
push 0x40740000
push 0
push 0
mov ecx, edi
mov byte [esp + 0x50], 0x19
call fcn.00422440
jmp 0x41e720
xor eax, eax
mov ecx, dword [esi + 0xa70]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebx
call fcn.00401210
push 0x48
call fcn.0044bba8
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
mov dword [esp + 0x34], 0x1b
je 0x41e756
mov ecx, eax
call fcn.00406990
jmp 0x41e758
xor eax, eax
mov dword [esi + 0xa78], eax
mov dword [eax + 0x20], ebp
mov edx, dword [esi + 0xa78]
mov eax, dword [esp + 0x14]
mov dword [edx + 0x24], eax
mov ecx, dword [esi + 0xa78]
push 0xb0
mov dword [esp + 0x38], ebx
mov byte [ecx + 0x1c], 1
call fcn.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov dword [esp + 0x34], 0x1c
je 0x41e7db
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.high_score_options
call fcn.00402330
push 0x4067c000
push 0
push 0x40740000
push 0
mov ecx, edi
call fcn.0042b290
jmp 0x41e7dd
xor eax, eax
mov ecx, dword [esi + 0xa78]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebx
call fcn.00401210
push 0xc0
call fcn.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov dword [esp + 0x34], 0x1d
je 0x41e854
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], 0x1e
call fcn.00402330
push 0x406f4000
push 0
push 0x40740000
push 0
push 0
mov ecx, edi
mov byte [esp + 0x50], 0x1d
call fcn.00422580
jmp 0x41e856
xor eax, eax
mov ecx, dword [esi + 0xa78]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebx
call fcn.00401210
push 0xc8
call fcn.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov dword [esp + 0x34], 0x1f
je 0x41e8cd
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], 0x20
call fcn.00402330
push 0x40790000
push 0
push 0x40740000
push 0
push 0
mov ecx, edi
mov byte [esp + 0x50], 0x1f
call fcn.00422440
jmp 0x41e8cf
xor eax, eax
mov ecx, dword [esi + 0xa78]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebx
call fcn.00401210
push 0x50
call fcn.0044bba8
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
mov dword [esp + 0x34], 0x21
je 0x41e905
mov ecx, eax
call fcn.00409360
jmp 0x41e907
xor eax, eax
mov edx, dword [esp + 0x14]
mov dword [esi + 0x81c], eax
mov dword [eax + 0x20], ebp
mov ecx, dword [esi + 0x81c]
mov dword [ecx + 0x24], edx
mov eax, dword [esi + 0x81c]
push 0x48
mov dword [esp + 0x38], ebx
mov byte [eax + 0x1c], 1
call fcn.0044bba8
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
mov dword [esp + 0x34], 0x22
je 0x41e94e
mov ecx, eax
call fcn.00406990
jmp 0x41e950
xor eax, eax
mov edx, dword [esp + 0x14]
mov dword [esi + 0x820], eax
mov dword [eax + 0x20], ebp
mov ecx, dword [esi + 0x820]
mov dword [ecx + 0x24], edx
mov eax, dword [esi + 0x820]
push 0xb0
mov dword [esp + 0x38], ebx
mov byte [eax + 0x1c], 1
call fcn.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov dword [esp + 0x34], 0x23
je 0x41e9d3
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.left_player
call fcn.00402330
push 0x40640000
push 0
push 0x406ae000
push 0
mov ecx, edi
call fcn.0042b290
jmp 0x41e9d5
xor eax, eax
mov ecx, dword [esi + 0x820]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebx
call fcn.00401210
push 0xc8
call fcn.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov dword [esp + 0x34], 0x24
je 0x41ea53
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 0x46a584
mov byte [esp + 0x44], 0x25
call fcn.00402330
push 0x406b8000
push 0
push 0x406ae000
push 0
lea eax, [esi + 0x6f0]
push eax
mov ecx, edi
mov byte [esp + 0x54], 0x24
call fcn.00423880
jmp 0x41ea55
xor eax, eax
mov ecx, dword [esi + 0x820]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebx
call fcn.00401210
push 0xc8
call fcn.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov dword [esp + 0x34], 0x26
je 0x41ead3
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 0x46a568
mov byte [esp + 0x44], 0x27
call fcn.00402330
push 0x406f4000
push 0
push 0x406ae000
push 0
lea ecx, [esi + 0x6f8]
push ecx
mov ecx, edi
mov byte [esp + 0x54], 0x26
call fcn.00423880
jmp 0x41ead5
xor eax, eax
mov ecx, dword [esi + 0x820]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebx
call fcn.00401210
push 0xc8
call fcn.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov dword [esp + 0x34], 0x28
je 0x41eb53
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 0x46a550
mov byte [esp + 0x44], 0x29
call fcn.00402330
push 0x40718000
push 0
push 0x406ae000
push 0
lea edx, [esi + 0x6e0]
push edx
mov ecx, edi
mov byte [esp + 0x54], 0x28
call fcn.00423880
jmp 0x41eb55
xor eax, eax
mov ecx, dword [esi + 0x820]
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebx
call fcn.00401210
push 0xc8
call fcn.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x2a
mov dword [esp + 0x34], ebx
je 0x41ebd3
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 0x46a538
mov byte [esp + 0x44], 0x2b
call fcn.00402330
push 0x40736000
push 0
push 0x406ae000
push 0
lea eax, [esi + 0x6e8]
push eax
mov ecx, edi
mov byte [esp + 0x54], bl
call fcn.00423880
jmp 0x41ebd5
xor eax, eax
mov ecx, dword [esi + 0x820]
or ebp, 0xffffffff
push eax
add ecx, 0x10
mov dword [esp + 0x38], ebp
call fcn.00401210
push 0xc8
call fcn.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x2c
mov dword [esp + 0x34], ebx
je 0x41ec56
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], 0x2d
call fcn.00402330
push 0x40754000
push 0
push 0x406ae000
push 0
lea ecx, [esi + 0x700]
push ecx
mov ecx, edi
mov byte [esp + 0x54], bl
call fcn.00423880
jmp 0x41ec58
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.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x2e
mov dword [esp + 0x34], ebx
je 0x41ecd6
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], 0x2f
call fcn.00402330
push 0x40772000
push 0
push 0x406ae000
push 0
lea edx, [esi + 0x708]
push edx
mov ecx, edi
mov byte [esp + 0x54], bl
call fcn.00423880
jmp 0x41ecd8
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.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov dword [esp + 0x34], 0x30
je 0x41ed49
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.right_player
call fcn.00402330
push 0x40640000
push 0
push 0x407a9000
push 0
mov ecx, edi
call fcn.0042b290
jmp 0x41ed4b
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.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x31
mov dword [esp + 0x34], ebx
je 0x41edc9
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 0x46a584
mov byte [esp + 0x44], 0x32
call fcn.00402330
push 0x406b8000
push 0
push 0x407a9000
push 0
lea edx, [esi + 0x6f4]
push edx
mov ecx, edi
mov byte [esp + 0x54], bl
call fcn.00423880
jmp 0x41edcb
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.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x33
mov dword [esp + 0x34], ebx
je 0x41ee49
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 0x46a568
mov byte [esp + 0x44], 0x34
call fcn.00402330
push 0x406f4000
push 0
push 0x407a9000
push 0
lea eax, [esi + 0x6fc]
push eax
mov ecx, edi
mov byte [esp + 0x54], bl
call fcn.00423880
jmp 0x41ee4b
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.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x35
mov dword [esp + 0x34], ebx
je 0x41eec9
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 0x46a550
mov byte [esp + 0x44], 0x36
call fcn.00402330
push 0x40718000
push 0
push 0x407a9000
push 0
lea ecx, [esi + 0x6e4]
push ecx
mov ecx, edi
mov byte [esp + 0x54], bl
call fcn.00423880
jmp 0x41eecb
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.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x37
mov dword [esp + 0x34], ebx
je 0x41ef49
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 0x46a538
mov byte [esp + 0x44], 0x38
call fcn.00402330
push 0x40736000
push 0
push 0x407a9000
push 0
lea edx, [esi + 0x6ec]
push edx
mov ecx, edi
mov byte [esp + 0x54], bl
call fcn.00423880
jmp 0x41ef4b
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.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x39
mov dword [esp + 0x34], ebx
je 0x41efc9
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], 0x3a
call fcn.00402330
push 0x40754000
push 0
push 0x407a9000
push 0
lea eax, [esi + 0x704]
push eax
mov ecx, edi
mov byte [esp + 0x54], bl
call fcn.00423880
jmp 0x41efcb
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.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x3b
mov dword [esp + 0x34], ebx
je 0x41f049
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], 0x3c
call fcn.00402330
push 0x40772000
push 0
push 0x407a9000
push 0
lea ecx, [esi + 0x70c]
push ecx
mov ecx, edi
mov byte [esp + 0x54], bl
call fcn.00423880
jmp 0x41f04b
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.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x3d
mov dword [esp + 0x34], ebx
je 0x41f0c2
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], 0x3e
call fcn.00402330
push 0x407ae000
push 0
push 0x40740000
push 0
push 0
mov ecx, edi
mov byte [esp + 0x50], bl
call fcn.00422440
jmp 0x41f0c4
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.0044bba8
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
mov dword [esp + 0x34], 0x3f
je 0x41f0fa
mov ecx, eax
call fcn.00406990
jmp 0x41f0fc
xor eax, eax
mov edx, dword [esp + 0x18]
mov ecx, dword [esp + 0x14]
mov dword [esi + 0x818], eax
mov dword [eax + 0x20], edx
mov eax, dword [esi + 0x818]
mov dword [eax + 0x24], ecx
mov edx, dword [esi + 0x818]
push 0xb0
mov dword [esp + 0x38], ebp
mov byte [edx + 0x1c], 1
call fcn.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov dword [esp + 0x34], 0x40
je 0x41f182
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.options
call fcn.00402330
push 0x4067c000
push 0
push 0x40740000
push 0
mov ecx, edi
call fcn.0042b290
jmp 0x41f184
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.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x41
mov dword [esp + 0x34], ebx
je 0x41f202
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], 0x42
call fcn.00402330
push 0x406f4000
push 0
push 0x406ae000
push 0
lea edx, [esi + 0x710]
push edx
mov ecx, edi
mov byte [esp + 0x54], bl
call fcn.004232c0
jmp 0x41f204
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.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x43
mov dword [esp + 0x34], ebx
je 0x41f282
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], 0x44
call fcn.00402330
push 0x406f4000
push 0
push 0x407a9000
push 0
lea eax, [esi + 0x710]
push eax
mov ecx, edi
mov byte [esp + 0x54], bl
call fcn.004232c0
jmp 0x41f284
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.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x45
mov dword [esp + 0x34], ebx
je 0x41f302
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], 0x46
call fcn.00402330
push 0x40718000
push 0
push 0x406ae000
push 0
lea ecx, [esi + 0x714]
push ecx
mov ecx, edi
mov byte [esp + 0x54], bl
call fcn.004232c0
jmp 0x41f304
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.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x47
mov dword [esp + 0x34], ebx
je 0x41f382
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], 0x48
call fcn.00402330
push 0x40718000
push 0
push 0x407a9000
push 0
lea edx, [esi + 0x714]
push edx
mov ecx, edi
mov byte [esp + 0x54], bl
call fcn.004232c0
jmp 0x41f384
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.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x49
mov dword [esp + 0x34], ebx
je 0x41f402
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], 0x4a
call fcn.00402330
push 0x40736000
push 0
push 0x406ae000
push 0
lea eax, [esi + 0x718]
push eax
mov ecx, edi
mov byte [esp + 0x54], bl
call fcn.004232c0
jmp 0x41f404
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.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x4b
mov dword [esp + 0x34], ebx
je 0x41f482
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], 0x4c
call fcn.00402330
push 0x40736000
push 0
push 0x407a9000
push 0
lea ecx, [esi + 0x718]
push ecx
mov ecx, edi
mov byte [esp + 0x54], bl
call fcn.004232c0
jmp 0x41f484
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.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x4d
mov dword [esp + 0x34], ebx
je 0x41f4fd
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], 0x4e
call fcn.00402330
push 0x40772000
push 0
push 0x40740000
push 0
push 0
mov ecx, edi
mov byte [esp + 0x50], bl
call fcn.00421bd0
mov edi, eax
jmp 0x41f4ff
xor edi, edi
mov eax, dword [esi + 0x818]
push edi
lea ecx, [eax + 0x10]
mov dword [esp + 0x38], ebp
call fcn.00401210
mov edx, dword [esi + 0x820]
push 0xc8
mov dword [edi + 0xc0], edx
call fcn.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x4f
mov dword [esp + 0x34], ebx
je 0x41f582
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], 0x50
call fcn.00402330
push 0x407ae000
push 0
push 0x40740000
push 0
push 0
mov ecx, edi
mov byte [esp + 0x50], bl
call fcn.00422440
jmp 0x41f584
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.0044bba8
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
mov dword [esp + 0x34], 0x51
je 0x41f5ba
mov ecx, eax
call fcn.00406990
jmp 0x41f5bc
xor eax, eax
mov ecx, dword [esp + 0x18]
mov dword [esi + 0x7f4], eax
mov dword [eax + 0x20], ecx
mov edx, dword [esi + 0x7f4]
mov eax, dword [esp + 0x14]
mov dword [edx + 0x24], eax
mov ecx, dword [esi + 0x7f4]
mov byte [ecx + 0x1c], 1
mov edx, dword [esi + 0x7f4]
push 0xb0
mov dword [esp + 0x38], ebp
mov byte [edx + 0x1b], 1
call fcn.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov dword [esp + 0x34], 0x52
je 0x41f64c
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.main_menu
call fcn.00402330
push 0x4067c000
push 0
push 0x40740000
push 0
mov ecx, edi
call fcn.0042b290
jmp 0x41f64e
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.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x53
mov dword [esp + 0x34], ebx
je 0x41f6c5
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], 0x54
call fcn.00402330
push 0x406f4000
push 0
push 0x40740000
push 0
push 0
mov ecx, edi
mov byte [esp + 0x50], bl
call fcn.00422730
jmp 0x41f6c7
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.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x55
mov dword [esp + 0x34], ebx
je 0x41f73e
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], 0x56
call fcn.00402330
push 0x40718000
push 0
push 0x40740000
push 0
push 0
mov ecx, edi
mov byte [esp + 0x50], bl
call fcn.00421d50
jmp 0x41f740
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.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x57
mov dword [esp + 0x34], ebx
je 0x41f7b9
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], 0x58
call fcn.00402330
push 0x40736000
push 0
push 0x40740000
push 0
push 0
mov ecx, edi
mov byte [esp + 0x50], bl
call fcn.00421bd0
mov edi, eax
jmp 0x41f7bb
xor edi, edi
mov eax, dword [esi + 0x7f4]
push edi
lea ecx, [eax + 0x10]
mov dword [esp + 0x38], ebp
call fcn.00401210
mov edx, dword [esi + 0x818]
push 0xc8
mov dword [edi + 0xc0], edx
call fcn.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x59
mov dword [esp + 0x34], ebx
je 0x41f83e
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], 0x5a
call fcn.00402330
push 0x40772000
push 0
push 0x40740000
push 0
push 0
mov ecx, edi
mov byte [esp + 0x50], bl
call fcn.00422440
jmp 0x41f840
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.0044bba8
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
mov dword [esp + 0x34], 0x5b
je 0x41f879
mov ecx, eax
call fcn.0040aa50
jmp 0x41f87b
xor eax, eax
push 0x48
mov dword [esp + 0x38], ebp
mov dword [esi + 0x7f0], eax
call fcn.0044bba8
add esp, 4
mov dword [esp + 0x24], eax
test eax, eax
mov dword [esp + 0x34], 0x5c
je 0x41f8a8
mov ecx, eax
call fcn.00406990
jmp 0x41f8aa
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.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov dword [esp + 0x34], 0x5d
je 0x41f931
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.0042b290
jmp 0x41f933
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.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x5e
mov dword [esp + 0x34], ebx
je 0x41f9ac
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 0x46a2bc
mov byte [esp + 0x40], 0x5f
call fcn.00402330
push 0x406f4000
push 0
push 0x40740000
push 0
push 0
mov ecx, edi
mov byte [esp + 0x50], bl
call fcn.00422440
mov edi, eax
jmp 0x41f9ae
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.0044bba8
mov edi, eax
add esp, 4
mov dword [esp + 0x24], edi
test edi, edi
mov ebx, 0x60
mov dword [esp + 0x34], ebx
je 0x41fa35
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 0x46a2b8
mov byte [esp + 0x40], 0x61
call fcn.00402330
push 0x40718000
push 0
push 0x40740000
push 0
push 0
mov ecx, edi
mov byte [esp + 0x50], bl
call fcn.00422440
mov edi, eax
jmp 0x41fa37
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 0x41faa2
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.00413050
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 0x41fafa
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.00413050
add esp, 0x1c
mov eax, dword [0x47c170]
mov ecx, dword [eax + 0x1c]
call fcn.0042d3b0
fadd qword [0x45dc78]
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