Function at 0x41bb30
Capabilities:
Print debug messages

Disassembly:
push 0xffffffffffffffff
push 0x43fc10
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x278
mov eax, dword [0x458e40]
push ebx
push ebp
mov dword [esp + 0x27c], eax
push esi
xor eax, eax
mov ebx, 0xf
push edi
mov esi, ecx
mov dword [esp + 0x50], ebx
mov dword [esp + 0x4c], eax
mov byte [esp + 0x3c], al
mov ebp, dword [esp + 0x298]
push 0x44250c
mov dword [esp + 0x294], eax
mov edi, ebp
call fcn.004341b2
push eax
push 0x44250c
push ebp
call fcn.0043410d
add esp, 0x10
test eax, eax
jne 0x41be0d
push 0x4424fc
call fcn.004341b2
push eax
push 0x4424fc
push ebp
call fcn.0043410d
add esp, 0x10
test eax, eax
jne 0x41bc54
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x30], esp
push 0xd
xor edi, edi
mov dword [ecx + 0x18], ebx
mov dword [ecx + 0x14], edi
push str.bgm_bgm01.wav
mov byte [ecx + 4], 0
call fcn.00403270
mov byte [esp + 0x2b0], 0
call fcn.00421230
mov ecx, eax
call fcn.004213e0
add esi, 0x3804
mov ecx, esi
call fcn.00403a70
push 0xd
push str.bgm_bgm01.wav
lea ecx, [esp + 0x24]
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x38], edi
mov byte [esp + 0x28], 0
call fcn.00403270
mov edi, dword [esi + 4]
mov ecx, dword [edi + 4]
lea eax, [esp + 0x1c]
push eax
push ecx
push edi
mov ecx, esi
mov byte [esp + 0x29c], 2
call fcn.00403790
push 1
mov ecx, esi
mov ebp, eax
call fcn.00403830
mov dword [edi + 4], ebp
mov edx, dword [ebp + 4]
mov dword [edx], ebp
jmp 0x41bccd
push 0x4424dc
call fcn.004341b2
push eax
push 0x4424dc
push ebp
call fcn.0043410d
add esp, 0x10
test eax, eax
jne 0x41bd03
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x30], esp
push str.bgm_bgm02.WAV
call fcn.00403510
mov byte [esp + 0x2b0], 0
call fcn.00421230
mov ecx, eax
call fcn.004213e0
add esi, 0x3804
mov ecx, esi
call fcn.00403a70
push str.bgm_bgm02.WAV
lea ecx, [esp + 0x20]
call fcn.00403510
lea edx, [esp + 0x1c]
push edx
mov ecx, esi
mov byte [esp + 0x294], 4
call fcn.00403c00
mov eax, dword [esp + 0x34]
mov esi, 0x10
cmp eax, esi
jb 0x41bce7
mov eax, dword [esp + 0x20]
push eax
call fcn.00433080
add esp, 4
cmp dword [esp + 0x50], esi
jb 0x41d012
mov ecx, dword [esp + 0x3c]
push ecx
call fcn.00433080
add esp, 4
jmp 0x41d012
push 0x4424bc
call fcn.004341b2
push eax
push 0x4424bc
push ebp
call fcn.0043410d
add esp, 0x10
test eax, eax
jne 0x41bd86
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x30], esp
push str.bgm_bgm03.WAV
call fcn.00403510
mov byte [esp + 0x2b0], 0
call fcn.00421230
mov ecx, eax
call fcn.004213e0
add esi, 0x3804
mov ecx, esi
call fcn.00403a70
push str.bgm_bgm03.WAV
lea ecx, [esp + 0x20]
call fcn.00403510
lea edx, [esp + 0x1c]
push edx
mov ecx, esi
mov byte [esp + 0x294], 6
call fcn.00403c00
lea ecx, [esp + 0x1c]
call fcn.004026c0
jmp 0x41d009
push 0x44249c
call fcn.004341b2
push eax
push 0x44249c
push ebp
call fcn.0043410d
add esp, 0x10
test eax, eax
jne 0x41d009
push 1
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x30], esp
push str.bgm_bgm04.WAV
call fcn.00403510
mov byte [esp + 0x2b0], 0
call fcn.00421230
mov ecx, eax
call fcn.004213e0
add esi, 0x3804
mov ecx, esi
call fcn.00403a70
push str.bgm_bgm04.WAV
lea ecx, [esp + 0x20]
call fcn.00403510
lea eax, [esp + 0x1c]
push eax
mov ecx, esi
mov byte [esp + 0x294], 8
call fcn.00403c00
lea ecx, [esp + 0x1c]
call fcn.004026c0
jmp 0x41d009
push 0x442480
call fcn.004341b2
push eax
push 0x442480
push ebp
call fcn.0043410d
add esp, 0x10
test eax, eax
jne 0x41bfcb
mov eax, dword [esi + 0x37b4]
test eax, eax
je 0x41be5f
lea edi, [esi + 0x3384]
push edi
lea ecx, [esp + 0x14]
lea ebx, [esi + 0x32b8]
push ecx
mov ecx, ebx
call fcn.004185f0
mov ecx, dword [esi + 0x32bc]
cmp dword [eax], ecx
jne 0x41c019
mov ecx, dword [esi + 0x3384]
lea eax, [esi + 0x3384]
mov dword [esp + 0x10], ecx
lea edi, [esi + 0x32b8]
push eax
mov ecx, edi
call fcn.00406d10
mov dword [eax], 0
mov edx, dword [esi + 0x2020]
mov ebx, dword [esi + 0x201c]
lea eax, [esp + 0x10]
sub edx, ebx
push eax
mov ecx, edi
mov dword [esi + 0x3388], edx
call fcn.00406d10
mov ecx, dword [esi + 0x3388]
mov dword [eax], ecx
lea eax, [ebp + 2]
push 0x8146
push eax
call fcn.00433f8d
add esp, 8
add eax, 2
mov ecx, eax
lea edi, [ecx + 1]
mov dl, byte [ecx]
inc ecx
test dl, dl
jne 0x41bec4
sub ecx, edi
push ecx
push eax
lea ecx, [esp + 0x40]
call fcn.00403270
mov eax, dword [esi + 0x1c]
test eax, eax
jne 0x41bfae
mov eax, dword [esi + 0x37b8]
test eax, eax
jne 0x41bfae
push 0
push 0x44247c
lea ecx, [esp + 0x40]
call fcn.00416160
cmp eax, 0xffffffff
je 0x41bf45
mov eax, dword [esi + 0x33b0]
test eax, eax
je 0x41bf80
add esi, 0x37c4
push esi
sub esp, 0x1c
lea edx, [esp + 0x58]
mov ecx, esp
mov dword [esp + 0x30], esp
push edx
call fcn.004033b0
mov byte [esp + 0x2b0], 0
call fcn.00421230
mov ecx, eax
call fcn.00421520
mov dword [esi], eax
jmp 0x41d009
push 0
push 0x442478
lea ecx, [esp + 0x40]
call fcn.00416160
cmp eax, 0xffffffff
je 0x41bf8f
mov eax, dword [esi + 0x33b4]
test eax, eax
je 0x41bf80
add esi, 0x37c4
push esi
sub esp, 0x1c
lea eax, [esp + 0x58]
mov ecx, esp
mov dword [esp + 0x30], esp
push eax
call fcn.004033b0
jmp 0x41bf2a
mov dword [esi + 0x37c4], 1
jmp 0x41d009
add esi, 0x37c4
push esi
sub esp, 0x1c
lea edx, [esp + 0x58]
mov ecx, esp
mov dword [esp + 0x30], esp
push edx
call fcn.004033b0
jmp 0x41bf2a
cmp dword [esp + 0x50], 0x10
jb 0x41d012
mov eax, dword [esp + 0x3c]
push eax
call fcn.00433080
add esp, 4
jmp 0x41d012
push 0x44246c
call fcn.004341b2
push eax
push 0x44246c
push ebp
call fcn.0043410d
add esp, 0x10
test eax, eax
jne 0x41c168
mov eax, dword [esi + 0x37b4]
test eax, eax
je 0x41c036
lea edi, [esi + 0x3384]
push edi
lea ecx, [esp + 0x14]
lea ebx, [esi + 0x32b8]
push ecx
mov ecx, ebx
call fcn.004185f0
mov ecx, dword [esi + 0x32bc]
cmp dword [eax], ecx
je 0x41c036
push edi
mov ecx, ebx
call fcn.00406d10
mov eax, dword [eax]
mov edx, dword [esi + 0x201c]
add edx, eax
mov dword [esi + 0x2020], edx
jmp 0x41d009
mov ecx, dword [esi + 0x3384]
lea eax, [esi + 0x3384]
mov dword [esp + 0x10], ecx
lea edi, [esi + 0x32b8]
push eax
mov ecx, edi
call fcn.00406d10
mov dword [eax], 0
mov eax, dword [esi + 0x201c]
mov edx, dword [esi + 0x2020]
sub edx, eax
lea eax, [esp + 0x10]
push eax
mov ecx, edi
mov dword [esi + 0x3388], edx
call fcn.00406d10
mov ecx, dword [esi + 0x3388]
push 0x44245c
mov dword [eax], ecx
call fcn.004341b2
push eax
push 0x44245c
push ebp
call fcn.0043410d
add esp, 0x10
test eax, eax
jne 0x41c0b7
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.seSE.wav
call fcn.00403510
jmp 0x41c14f
push 0x442440
call fcn.004341b2
push eax
push 0x442440
push ebp
call fcn.0043410d
add esp, 0x10
test eax, eax
jne 0x41c0e9
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.seSE02.wav
call fcn.00403510
jmp 0x41c14f
push 0x442424
call fcn.004341b2
push eax
push 0x442424
push ebp
call fcn.0043410d
add esp, 0x10
test eax, eax
jne 0x41c11b
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.seSE03.wav
call fcn.00403510
jmp 0x41c14f
push 0x442408
call fcn.004341b2
push eax
push 0x442408
push ebp
call fcn.0043410d
add esp, 0x10
test eax, eax
jne 0x41d009
sub esp, 0x1c
mov ecx, esp
mov dword [esp + 0x2c], esp
push str.seSE04.wav
call fcn.00403510
mov byte [esp + 0x2ac], 0
call fcn.00421230
mov ecx, eax
call fcn.00421480
jmp 0x41d009
push 0x4423f4
call fcn.004341b2
push eax
push 0x4423f4
push ebp
call fcn.0043410d
add esp, 0x10
test eax, eax
jne 0x41c3cd
mov ecx, 0x41
lea edi, [esp + 0x54]
push 0x4423e4
rep stosd dword es:[edi], eax
call fcn.004341b2
push eax
push 0x4423e4
push ebp
call fcn.0043410d
add esp, 0x10
test eax, eax
jne 0x41c1c3
lea edx, [esp + 0x54]
push 0x4423d4
push edx
call fcn.00437c60
add esp, 8
push 0x4423c4
call fcn.004341b2
push eax
push 0x4423c4
push ebp
call fcn.0043410d
add esp, 0x10
test eax, eax
jne 0x41c1f2
lea eax, [esp + 0x54]
push 0x4423b4
push eax
call fcn.00437c60
add esp, 8
push 0x4423a4
call fcn.004341b2
push eax
push 0x4423a4
push ebp
call fcn.0043410d
add esp, 0x10
test eax, eax
jne 0x41c221
lea ecx, [esp + 0x54]
push 0x442394
push ecx
call fcn.00437c60
add esp, 8
push 0x442384
call fcn.004341b2
push eax
push 0x442384
push ebp
call fcn.0043410d
add esp, 0x10
test eax, eax
jne 0x41c250
lea edx, [esp + 0x54]
push 0x442374
push edx
call fcn.00437c60
add esp, 8
push 0x442364
call fcn.004341b2
push eax
push 0x442364
push ebp
call fcn.0043410d
add esp, 0x10
test eax, eax
jne 0x41c27f
lea eax, [esp + 0x54]
push 0x442354
push eax
call fcn.00437c60
add esp, 8
push 0x442344
call fcn.004341b2
push eax
push 0x442344
push ebp
call fcn.0043410d
add esp, 0x10
test eax, eax
jne 0x41c2ae
lea ecx, [esp + 0x54]
push 0x442334
push ecx
call fcn.00437c60
add esp, 8
push 0x442384
call fcn.004341b2
push eax
push 0x442324
push ebp
call fcn.0043410d
add esp, 0x10
test eax, eax
jne 0x41c2dd
lea edx, [esp + 0x54]
push 0x442314
push edx
call fcn.00437c60
add esp, 8
push 0x442364
call fcn.004341b2
push eax
push 0x442304
push ebp
call fcn.0043410d
add esp, 0x10
test eax, eax
jne 0x41c30c
lea eax, [esp + 0x54]
push 0x4422f4
push eax
call fcn.00437c60
add esp, 8
push 0x442384
call fcn.004341b2
push eax
push 0x4422e4
push ebp
call fcn.0043410d
add esp, 0x10
test eax, eax
jne 0x41c33b
lea ecx, [esp + 0x54]
push 0x4422d4
push ecx
call fcn.00437c60
add esp, 8
push 0x442364
call fcn.004341b2
push eax
push 0x4422c4
push ebp
call fcn.0043410d
add esp, 0x10
test eax, eax
jne 0x41c36a
lea edx, [esp + 0x54]
push 0x4422b4
push edx
call fcn.00437c60
add esp, 8
push 0x442344
call fcn.004341b2
push eax
push 0x4422a4
push ebp
call fcn.0043410d
add esp, 0x10
test eax, eax
jne 0x41c399
lea eax, [esp + 0x54]
push 0x442294
push eax
call fcn.00437c60
add esp, 8
lea edi, [esi + 0x202c]
mov ecx, edi
call fcn.00402820
lea ecx, [esp + 0x54]
push ecx
mov ecx, edi
call fcn.004033e0
mov ecx, esi
call fcn.00418570
lea edx, [esp + 0x54]
push edx
mov ecx, esi
call fcn.0041b130
or dword [esi], 1
jmp 0x41d009
push 0x442288
push ebp
call fcn.004341f7
add esp, 8
test eax, eax
je 0x41c3ee
mov ecx, esi
call fcn.004185c0
or dword [esi], 1
jmp 0x41d009
push 0x44227c
call fcn.004341b2
push eax
push 0x44227c
push ebp
call fcn.0043410d
add esp, 0x10
test eax, eax
jne 0x41cb5c
push 0x44226c
call fcn.004341b2
push eax
push 0x44226c
push ebp
call fcn.0043410d
add esp, 0x10
test eax, eax
jne 0x41c67e
push 0x442268
add ebp, 2
push ebp
call fcn.004343d1
mov edi, eax
lea eax, [esp + 0x5c]
push edi
push eax
call fcn.00437c50
lea ecx, [esp + 0x17c]
push edi
push ecx
call fcn.00437c50
lea edx, [esp + 0x6c]
push edx
call fcn.00434367
mov edi, eax
lea eax, [esp + 0x70]
push 0x4416b4
push eax
call fcn.00437c60
mov byte [esp + edi + 0x18e], 0
lea edi, [esi + 0x202c]
push 0x4423d4
push edi
call fcn.00418530
add esp, 0x2c
test al, al
je 0x41c4a9
lea ecx, [esp + 0x16c]
push 0x442258
push ecx
call fcn.00437c60
add esp, 8
push 0x4423b4
push edi
call fcn.00418530
add esp, 8
test al, al
je 0x41c4d0
lea edx, [esp + 0x16c]
push 0x442248
push edx
call fcn.00437c60
add esp, 8
push 0x442394
push edi
call fcn.00418530
add esp, 8
test al, al
je 0x41c4f7
lea eax, [esp + 0x16c]
push 0x442238
push eax
call fcn.00437c60
add esp, 8
push 0x442374
push edi
call fcn.00418530
add esp, 8
test al, al
je 0x41c51e
lea ecx, [esp + 0x16c]
push 0x442228
push ecx
call fcn.00437c60
add esp, 8
push 0x442354
push edi
call fcn.00418530
add esp, 8
test al, al
je 0x41c545
lea edx, [esp + 0x16c]
push 0x442218
push edx
call fcn.00437c60
add esp, 8
push 0x442334
push edi
call fcn.00418530
add esp, 8
test al, al
je 0x41c56c
lea eax, [esp + 0x16c]
push 0x442208
push eax
call fcn.00437c60
add esp, 8
push 0x442314
push edi
call fcn.00418530
add esp, 8
test al, al
je 0x41c593
lea ecx, [esp + 0x16c]
push 0x4421f8
push ecx
call fcn.00437c60
add esp, 8
push 0x4422f4
push edi
call fcn.00418530
add esp, 8
test al, al
je 0x41c5ba
lea edx, [esp + 0x16c]
push 0x4421e8
push edx
call fcn.00437c60
add esp, 8
push 0x4422d4
push edi
call fcn.00418530
add esp, 8
test al, al
je 0x41c5e1
lea eax, [esp + 0x16c]
push 0x4421d8
push eax
call fcn.00437c60
add esp, 8
push 0x4422b4
push edi
call fcn.00418530
add esp, 8
test al, al
je 0x41c608
lea ecx, [esp + 0x16c]
push 0x4421c8
push ecx
call fcn.00437c60
add esp, 8
push 0x442294
push edi
call fcn.00418530
add esp, 8
test al, al
je 0x41c62f
lea edx, [esp + 0x16c]
push 0x4421b8
push edx
call fcn.00437c60
add esp, 8
lea eax, [esp + 0x16c]
push 0x4416b4
push eax
call fcn.00437c60
add esp, 8
mov ecx, esi
mov dword [esp + 0x14], 0x154
mov dword [esp + 0x18], 0x46
call fcn.004185c0
lea ecx, [esp + 0x14]
push ecx
lea edx, [esp + 0x58]
push edx
push 0
lea eax, [esp + 0x178]
push eax
mov ecx, esi
call fcn.0041b350
or dword [esi], 1
jmp 0x41d009
push 0x4421a8
call fcn.004341b2
push eax
push 0x4421a8
push ebp
call fcn.0043410d
add esp, 0x10
test eax, eax
jne 0x41c8ed
push 0x442268
add ebp, 2
push ebp
call fcn.004343d1
mov edi, eax
lea ecx, [esp + 0x5c]
push edi
push ecx
call fcn.00437c50
lea edx, [esp + 0x17c]
push edi
push edx
call fcn.00437c50
lea eax, [esp + 0x6c]
push eax
call fcn.00434367
lea ecx, [esp + 0x70]
push 0x4416b4
push ecx
mov edi, eax
call fcn.00437c60
mov byte [esp + edi + 0x18e], 0
lea edi, [esi + 0x202c]
push 0x4423d4
push edi
call fcn.00418530
add esp, 0x2c
test al, al
je 0x41c718
lea edx, [esp + 0x16c]
push 0x442258
push edx
call fcn.00437c60
add esp, 8
push 0x4423b4
push edi
call fcn.00418530
add esp, 8
test al, al
je 0x41c73f
lea eax, [esp + 0x16c]
push 0x442248
push eax
call fcn.00437c60
add esp, 8
push 0x442394
push edi
call fcn.00418530
add esp, 8
test al, al
je 0x41c766
lea ecx, [esp + 0x16c]
push 0x442238
push ecx
call fcn.00437c60
add esp, 8
push 0x442374
push edi
call fcn.00418530
add esp, 8
test al, al
je 0x41c78d
lea edx, [esp + 0x16c]
push 0x442228
push edx
call fcn.00437c60
add esp, 8
push 0x442354
push edi
call fcn.00418530
add esp, 8
test al, al
je 0x41c7b4
lea eax, [esp + 0x16c]
push 0x442218
push eax
call fcn.00437c60
add esp, 8
push 0x442334
push edi
call fcn.00418530
add esp, 8
test al, al
je 0x41c7db
lea ecx, [esp + 0x16c]
push 0x442208
push ecx
call fcn.00437c60
add esp, 8
push 0x442314
push edi
call fcn.00418530
add esp, 8
test al, al
je 0x41c802
lea edx, [esp + 0x16c]
push 0x4421f8
push edx
call fcn.00437c60
add esp, 8
push 0x4422f4
push edi
call fcn.00418530
add esp, 8
test al, al
je 0x41c829
lea eax, [esp + 0x16c]
push 0x4421e8
push eax
call fcn.00437c60
add esp, 8
push 0x4422d4
push edi
call fcn.00418530
add esp, 8
test al, al
je 0x41c850
lea ecx, [esp + 0x16c]
push 0x4421d8
push ecx
call fcn.00437c60
add esp, 8
push 0x4422b4
push edi
call fcn.00418530
add esp, 8
test al, al
je 0x41c877
lea edx, [esp + 0x16c]
push 0x4421c8
push edx
call fcn.00437c60
add esp, 8
push 0x442294
push edi
call fcn.00418530
add esp, 8
test al, al
je 0x41c89e
lea eax, [esp + 0x16c]
push 0x4421b8
push eax
call fcn.00437c60
add esp, 8
lea ecx, [esp + 0x16c]
push 0x4416b4
push ecx
call fcn.00437c60
add esp, 8
mov ecx, esi
mov dword [esp + 0x14], 0x15a
mov dword [esp + 0x18], 0x3f
call fcn.004185c0
lea edx, [esp + 0x14]
push edx
lea eax, [esp + 0x58]
push eax
push 0
lea ecx, [esp + 0x178]
push ecx
mov ecx, esi
call fcn.0041b350
or dword [esi], 1
jmp 0x41d009
push 0x442198
call fcn.004341b2
push eax
push 0x442198
push ebp
call fcn.0043410d
add esp, 0x10
test eax, eax
jne 0x41cb5c
push 0x442268
add ebp, 2
push ebp
call fcn.004343d1
mov edi, eax
lea edx, [esp + 0x5c]
push edi
push edx
call fcn.00437c50
lea eax, [esp + 0x17c]
push edi
push eax
call fcn.00437c50
lea ecx, [esp + 0x6c]
push ecx
call fcn.00434367
lea edx, [esp + 0x70]
push 0x4416b4
push edx
mov edi, eax
call fcn.00437c60
mov byte [esp + edi + 0x18e], 0
lea edi, [esi + 0x202c]
push 0x4423d4
push edi
call fcn.00418530
add esp, 0x2c
test al, al
je 0x41c987
lea eax, [esp + 0x16c]
push 0x442258
push eax
call fcn.00437c60
add esp, 8
push 0x4423b4
push edi
call fcn.00418530
add esp, 8
test al, al
je 0x41c9ae
lea ecx, [esp + 0x16c]
push 0x442248
push ecx
call fcn.00437c60
add esp, 8
push 0x442394
push edi
call fcn.00418530
add esp, 8
test al, al
je 0x41c9d5
lea edx, [esp + 0x16c]
push 0x442238
push edx
call fcn.00437c60
add esp, 8
push 0x442374
push edi
call fcn.00418530
add esp, 8
test al, al
je 0x41c9fc
lea eax, [esp + 0x16c]
push 0x442228
push eax
call fcn.00437c60
add esp, 8
push 0x442354
push edi
call fcn.00418530
add esp, 8
test al, al
je 0x41ca23
lea ecx, [esp + 0x16c]
push 0x442218
push ecx
call fcn.00437c60
add esp, 8
push 0x442334
push edi
call fcn.00418530
add esp, 8
test al, al
je 0x41ca4a
lea edx, [esp + 0x16c]
push 0x442208
push edx
call fcn.00437c60
add esp, 8
push 0x442314
push edi
call fcn.00418530
add esp, 8
test al, al
je 0x41ca71
lea eax, [esp + 0x16c]
push 0x4421f8
push eax
call fcn.00437c60
add esp, 8
push 0x4422f4
push edi
call fcn.00418530
add esp, 8
test al, al
je 0x41ca98
lea ecx, [esp + 0x16c]
push 0x4421e8
push ecx
call fcn.00437c60
add esp, 8
push 0x4422d4
push edi
call fcn.00418530
add esp, 8
test al, al
je 0x41cabf
lea edx, [esp + 0x16c]
push 0x4421d8
push edx
call fcn.00437c60
add esp, 8
push 0x4422b4
push edi
call fcn.00418530
add esp, 8
test al, al
je 0x41cae6
lea eax, [esp + 0x16c]
push 0x4421c8
push eax
call fcn.00437c60
add esp, 8
push 0x442294
push edi
call fcn.00418530
add esp, 8
test al, al
je 0x41cb0d
lea ecx, [esp + 0x16c]
push 0x4421b8
push ecx
call fcn.00437c60
add esp, 8
lea edx, [esp + 0x16c]
push 0x4416b4
push edx
call fcn.00437c60
add esp, 8
mov ecx, esi
mov dword [esp + 0x14], 0x16e
mov dword [esp + 0x18], 0x83
call fcn.004185c0
lea eax, [esp + 0x14]
push eax
lea ecx, [esp + 0x58]
push ecx
push 0
lea edx, [esp + 0x178]
push edx
mov ecx, esi
call fcn.0041b350
or dword [esi], 1
jmp 0x41d009
push 0x44218c
call fcn.004341b2
push eax
push 0x44218c
push ebp
call fcn.0043410d
add esp, 0x10
test eax, eax
mov ebx, 1
jne 0x41cbbe
lea edi, [ebp + 2]
push 0x442268
push edi
call fcn.004343d1
push eax
lea eax, [esp + 0x60]
push eax
call fcn.00437c50
lea ecx, [esp + 0x64]
push 0x4416b4
push ecx
call fcn.00437c60
add esp, 0x18
mov ecx, esi
call fcn.00418570
lea edx, [esp + 0x54]
push edx
mov ecx, esi
call fcn.0041b130
or dword [esi], ebx
push 0x442174
push edi
call fcn.004341f7
add esp, 8
test eax, eax
je 0x41cbe1
call fcn.0040d320
mov ecx, eax
call fcn.004182d0
jmp 0x41d009
push 0x442158
push edi
call fcn.004341f7
add esp, 8
test eax, eax
je 0x41cbfa
lea eax, [esp + 0x54]
push eax
jmp 0x41cc2a
push 0x442144
push edi
call fcn.004341f7
add esp, 8
test eax, eax
je 0x41cc13
lea ecx, [esp + 0x54]
push ecx
jmp 0x41cc2a
push 0x442134
push edi
call fcn.004341f7
add esp, 8
test eax, eax
je 0x41cc41
lea edx, [esp + 0x54]
push edx
lea ecx, [esp + 0x3c]
call fcn.004033e0
mov ecx, esi
call fcn.00418570
or dword [esi], ebx
jmp 0x41d009
push 0x44212c
push edi
call fcn.004341f7
add esp, 8
test eax, eax
je 0x41cee5
mov ecx, dword [esi]
or ecx, ebx
push 0x442268
push edi
mov dword [esi + 8], ebx
mov dword [esi], ecx
mov dword [esi + 0x2288], 0xffffffff
call fcn.004343d1
push 0x442128
push 0
call fcn.004343d1
push eax
lea eax, [esp + 0x68]
push eax
call fcn.00437c50
add esp, 0x18
lea ecx, [esp + 0x54]
push ecx
lea ecx, [esi + 0x329c]
call fcn.004033e0
mov eax, dword [esi + 0x24]
test eax, eax
lea ebp, [esi + 0x2290]
lea ebx, [esi + 0x3290]
mov ecx, 0x200
mov dword [esi + 0x1c], 0
mov edi, ebp
je 0x41ce25
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, ebx
call fcn.00403a70
lea edx, [esp + 0x54]
push edx
mov ecx, esi
call fcn.00417d50
jmp 0x41cce0
lea eax, [esp + 0x54]
push eax
mov ecx, esi
call fcn.00417d50
lea ecx, [esp + 0x54]
push ecx
call fcn.004341b2
add esp, 4
test eax, eax
je 0x41cd73
lea edx, [esp + 0x56]
push 0x442124
push edx
call fcn.004343d1
lea eax, [esp + 0x5e]
push eax
push ebp
call fcn.00437c60
push 0x442120
push ebp
call fcn.00437c60
push 0x442124
push 0
call fcn.004343d1
add esp, 0x20
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0x40]
mov edi, eax
call fcn.00402500
push edi
lea ecx, [esp + 0x3c]
call fcn.004033e0
lea ecx, [esp + 0x38]
push ecx
mov ecx, ebx
call fcn.00403c00
lea eax, [esp + 0x54]
lea edx, [eax + 1]
lea ecx, [ecx]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41cd60
sub eax, edx
mov dword [esp + 0x10], eax
jne 0x41cce0
mov eax, dword [esi + 0x3294]
mov edi, dword [eax]
cmp edi, eax
je 0x41cdb9
nop
mov ebp, dword [esi + 0x13e0ec]
lea edx, [edi + 8]
push edx
lea eax, [esp + 0x14]
push eax
lea ecx, [esi + 0x13e0e8]
call fcn.00408e40
cmp dword [eax], ebp
je 0x41cda2
mov edi, dword [edi]
jmp 0x41cdb1
push edi
lea ecx, [esp + 0x18]
push ecx
mov ecx, ebx
call fcn.00408f60
mov edi, dword [eax]
cmp edi, dword [esi + 0x3294]
jne 0x41cd80
mov eax, dword [esi + 0x3298]
sub eax, 0
je 0x41ce06
dec eax
je 0x41cdd9
or dword [esi], 0x10
mov dword [esi + 0x3854], 0xffffffff
jmp 0x41d009
mov edx, dword [esi + 0x3294]
mov eax, dword [edx]
sub esp, 0x1c
add eax, 8
mov ecx, esp
mov dword [esp + 0x30], esp
push eax
call fcn.004033b0
mov ecx, esi
call fcn.0041ecf0
mov ecx, ebx
call fcn.00403a70
jmp 0x41d009
sub esp, 0x1c
lea eax, [esp + 0x54]
mov ecx, esp
mov dword [esp + 0x30], esp
push eax
call fcn.004033b0
mov ecx, esi
call fcn.0041ecf0
jmp 0x41d009
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, ebx
call fcn.00403a70
or dword [esi], 0x10
lea ecx, [esp + 0x54]
push ecx
mov ecx, esi
mov dword [esi + 0xc], 1
call fcn.00417d50
lea edx, [esp + 0x54]
push edx
mov ecx, esi
call fcn.00417d50
lea eax, [esp + 0x54]
push eax
call fcn.004341b2
add esp, 4
test eax, eax
je 0x41ced6
lea ecx, [esp + 0x56]
push 0x442124
push ecx
call fcn.004343d1
lea edx, [esp + 0x5e]
push edx
push ebp
call fcn.00437c60
push 0x442120
push ebp
call fcn.00437c60
push 0x442124
push 0
call fcn.004343d1
add esp, 0x20
push 0xffffffffffffffff
push 0
lea ecx, [esp + 0x40]
mov edi, eax
call fcn.00402500
push edi
lea ecx, [esp + 0x3c]
call fcn.004033e0
lea eax, [esp + 0x38]
push eax
mov ecx, ebx
call fcn.00403c00
lea eax, [esp + 0x54]
lea edx, [eax + 1]
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x41cec3
sub eax, edx
mov dword [esp + 0x14], eax
jne 0x41ce46
mov dword [esi + 0x3854], 0xffffffff
jmp 0x41d009
push 0x442124
push edi
call fcn.004341f7
add esp, 8
test eax, eax
je 0x41cf68
push 0x442124
push edi
call fcn.004341f7
mov edi, eax
push 0x442110
add edi, 2
call fcn.004341b2
push eax
push 0x442110
push edi
call fcn.0043410d
add esp, 0x18
test eax, eax
lea ecx, [esp + 0x38]
jne 0x41cf43
mov dword [esi + 0x2048], ebx
mov dword [esi + 0x3838], ebx
mov dword [esi + 0x2028], 3
jmp 0x41d00d
push edi
call fcn.004033e0
sub esp, 0x1c
lea edx, [esp + 0x54]
mov ecx, esp
mov dword [esp + 0x30], esp
push edx
call fcn.004033b0
mov ecx, esi
call fcn.0041ecf0
jmp 0x41d009
push 0x442108
call fcn.004341b2
push eax
push 0x442108
push edi
call fcn.0043410d
add esp, 0x10
test eax, eax
jne 0x41cfb0
lea ecx, [esp + 0x38]
call fcn.00402820
lea eax, [edi + 2]
push eax
lea ecx, [esp + 0x3c]
call fcn.004033e0
lea ecx, [esp + 0x38]
push ecx
lea edx, [esp + 0x18]
push edx
lea ecx, [esi + 0x13e0e8]
call fcn.00406a20
mov eax, dword [esi + 0x24]
test eax, eax
je 0x41cfe7
mov eax, dword [esi + 0x37e4]
test eax, eax
jbe 0x41cfe7
lea eax, [esp + 0x38]
push eax
lea ecx, [esi + 0x37d0]
push ecx
call fcn.00416190
add esp, 8
test al, al
je 0x41cfe7
mov dword [esi + 0x3838], ebx
mov dword [esi + 0x2048], ebx
jmp 0x41d009
push 0x44208c
push edi
call fcn.004341f7
add esp, 8
test eax, eax
jne 0x41d009
mov esi, dword [sym.imp.KERNEL32.dll_OutputDebugStringA]
push edi
call esi
push 0x442104
call esi
lea ecx, [esp + 0x38]
call fcn.004026c0
mov ecx, dword [esp + 0x288]
mov dword fs:[0], ecx
mov ecx, dword [esp + 0x284]
call fcn.004332fd
pop edi
pop esi
pop ebp
pop ebx
add esp, 0x284
ret 4