Function at 0x440f60
Capabilities:
Get common file path

Disassembly:
sub esp, 0x420
mov eax, dword [0x52e144]
xor eax, esp
mov dword [esp + 0x41c], eax
push ebx
mov ebx, dword [esp + 0x42c]
push ebp
mov ebp, dword [esp + 0x438]
push esi
mov esi, dword [esp + 0x438]
push edi
push 0x1ff
lea eax, [esp + 0x21]
push 0
push eax
mov dword [esp + 0x24], esi
mov byte [esp + 0x28], 0
call fcn.004b6dc0
push 0x51b258
mov dword [esp + 0x24], 0
call fcn.00404690
push eax
lea edi, [ebp + 0x11c]
push edi
call fcn.004b9929
add esp, 0x18
test eax, eax
jne 0x441109
push 0x51b240
call fcn.00404690
push eax
push edi
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x441109
push 0x51b22c
call fcn.00404690
push eax
push edi
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x441109
push 0x51b21c
call fcn.00404690
push eax
push edi
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x441109
push 0x51b20c
call fcn.00404690
push eax
push edi
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x441109
push 0x51b1f8
call fcn.00404690
push eax
push edi
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x441109
push 0x51b1e4
call fcn.00404690
push eax
push edi
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x441109
push 0x51b1d4
call fcn.00404690
push eax
push edi
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x441109
push 0x51b1c4
call fcn.00404690
push eax
push edi
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x441109
push 0x51b1b0
call fcn.00404690
push eax
push edi
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x441109
push 0x51b19c
call fcn.00404690
push eax
push edi
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x441109
push 0x51b188
call fcn.00404690
push eax
push edi
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x441109
push 0x51b16c
call fcn.00404690
push eax
push edi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x441178
mov ecx, dword [ebp + 0x224]
push ecx
push edi
push esi
push 0x51b154
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x14
push edi
push 0x51b144
call fcn.00404690
add esp, 4
push eax
push 0x537f40
call fcn.004b79a8
mov edx, dword [0x51b134]
mov eax, dword [0x51b138]
mov ecx, dword [0x51b13c]
mov dword [esp + 0x28], edx
mov edx, dword [0x51b140]
add esp, 0xc
mov dword [esp + 0x14], 1
mov dword [esp + 0x20], eax
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
push 0x51b124
call fcn.00404690
push eax
push edi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x4411b4
mov eax, dword [esp + 0x434]
push edi
push eax
push 0x51b10c
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x10
cmp dword [0x5383c0], 1
mov byte [esp + 0x13], 1
jne 0x4415f7
push 0x51b0fc
call fcn.00404690
push eax
push esi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x4411e3
mov byte [esp + 0x13], 0
push 0x51b0e8
call fcn.00404690
push eax
push esi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x441200
mov byte [esp + 0x13], 0
push 0x51b0d8
call fcn.00404690
push eax
push esi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x44121d
mov byte [esp + 0x13], 0
push 0x51b0c8
call fcn.00404690
push eax
push esi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x44123a
mov byte [esp + 0x13], 0
push 0x51b0b8
call fcn.00404690
push eax
push esi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x441257
mov byte [esp + 0x13], 0
push 0x51b0a4
call fcn.00404690
push eax
push esi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x441274
mov byte [esp + 0x13], 0
push 0x51b08c
call fcn.00404690
push eax
push esi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x441291
mov byte [esp + 0x13], 0
push 0x51b080
call fcn.00404690
push eax
push esi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x4412ae
mov byte [esp + 0x13], 0
push 0x51b070
call fcn.00404690
push eax
push esi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x4412cb
mov byte [esp + 0x13], 0
push 0x51b05c
call fcn.00404690
push eax
push esi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x4412e8
mov byte [esp + 0x13], 0
push 0x51b044
call fcn.00404690
push eax
push esi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x441305
mov byte [esp + 0x13], 0
push 0x51b030
call fcn.00404690
push eax
push esi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x441322
mov byte [esp + 0x13], 0
push 0x51b020
call fcn.00404690
push eax
push esi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x44133f
mov byte [esp + 0x13], 0
push 0x51b00c
call fcn.00404690
push eax
push esi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x44135c
mov byte [esp + 0x13], 0
push 0x51affc
call fcn.00404690
push eax
push esi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x441379
mov byte [esp + 0x13], 0
push 0x51afec
call fcn.00404690
push eax
push esi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x441396
mov byte [esp + 0x13], 0
push 0x51afd8
call fcn.00404690
push eax
push esi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x4413b3
mov byte [esp + 0x13], 0
push 0x51afc4
call fcn.00404690
push eax
push esi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x4413d0
mov byte [esp + 0x13], 0
push 0x51afb0
call fcn.00404690
push eax
push esi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x4413ed
mov byte [esp + 0x13], 0
push 0x51af9c
call fcn.00404690
push eax
push esi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x44140a
mov byte [esp + 0x13], 0
push 0x51af88
call fcn.00404690
push eax
push esi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x441427
mov byte [esp + 0x13], 0
push 0x51af7c
call fcn.00404690
push eax
push esi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x441444
mov byte [esp + 0x13], 0
push 0x51af68
call fcn.00404690
push eax
push esi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x441461
mov byte [esp + 0x13], 0
push 0x51af54
call fcn.00404690
push eax
push esi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x44147e
mov byte [esp + 0x13], 0
push 0x51af44
call fcn.00404690
push eax
push esi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x44149b
mov byte [esp + 0x13], 0
push 0x51af30
call fcn.00404690
push eax
push esi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x4414b8
mov byte [esp + 0x13], 0
push 0x51af1c
call fcn.00404690
push eax
push esi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x4414d5
mov byte [esp + 0x13], 0
push 0x51af0c
call fcn.00404690
push eax
push esi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x4414f2
mov byte [esp + 0x13], 0
push 0x51aef8
call fcn.00404690
push eax
push esi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x44150f
mov byte [esp + 0x13], 0
push 0x51aeec
call fcn.00404690
push eax
push esi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x44152c
mov byte [esp + 0x13], 0
push 0x51aedc
call fcn.00404690
push eax
push esi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x441549
mov byte [esp + 0x13], 0
push 0x51aec8
call fcn.00404690
push eax
push esi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x441566
mov byte [esp + 0x13], 0
push 0x51aebc
call fcn.00404690
push eax
push esi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x441583
mov byte [esp + 0x13], 0
push 0x51aeb0
call fcn.00404690
push eax
push esi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x4415a0
mov byte [esp + 0x13], 0
push 0x51ae9c
call fcn.00404690
push eax
push esi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x4415bd
mov byte [esp + 0x13], 0
push 0x51ae8c
call fcn.00404690
push eax
push esi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x4415da
mov byte [esp + 0x13], 0
push 0x51ae80
call fcn.00404690
push eax
push esi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x4415f7
mov byte [esp + 0x13], 0
mov ecx, dword [esp + 0x434]
cmp ecx, dword [0x53789c]
je 0x4431e6
cmp byte [esp + 0x13], 1
jne 0x441926
push 0x52af98
push esi
call fcn.004b9929
add esp, 8
test eax, eax
jne 0x441926
push 0x51ae6c
call fcn.00404690
push eax
push esi
call fcn.00404270
add esp, 0xc
test eax, eax
jne 0x441926
mov edx, dword [ebp + 0x224]
cmp edx, dword [0x53c268]
je 0x4416fc
push 0x517550
call fcn.00404690
add esp, 4
push eax
mov eax, dword [ebp + 0x224]
push eax
push ebx
call fcn.00410130
test eax, eax
je 0x4416fc
push 0x51ae50
call fcn.00404690
mov ecx, dword [ebp + 0x224]
add esp, 4
push eax
push ecx
push ebx
call fcn.00410130
test eax, eax
je 0x4416fc
mov edx, dword [ebp + 0x224]
push edx
lea eax, [ebp + 0x11c]
push eax
push esi
push 0x51ae38
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
mov eax, dword [ebp + 0x224]
push eax
push ebx
call fcn.0043ce90
add esp, 0x1c
mov edi, eax
push edi
push 0x51ae2c
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
test edi, edi
jne 0x4416fc
mov dword [esp + 0x14], 2
mov ecx, dword [ebp + 0x224]
cmp ecx, dword [0x53c270]
je 0x44183c
push 0x517518
call fcn.00404690
mov edx, dword [ebp + 0x224]
add esp, 4
push eax
push edx
push ebx
call fcn.00410130
test eax, eax
je 0x44183c
push 0x51ae10
call fcn.00404690
add esp, 4
push eax
mov eax, dword [ebp + 0x224]
push eax
push ebx
call fcn.00410130
test eax, eax
je 0x44183c
mov ecx, dword [ebp + 0x224]
push ecx
lea eax, [ebp + 0x11c]
push eax
push esi
push 0x51ae38
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
mov edx, dword [ebp + 0x224]
push edx
push ebx
call fcn.0043cce0
add esp, 0x1c
mov edi, eax
push edi
push 0x51ae04
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0xc
test edi, edi
jne 0x44183c
mov dword [esp + 0x14], 3
cmp dword [0x537f30], edi
je 0x44183c
push 0x51adf8
call fcn.00404690
push eax
push esi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x4417f5
push 0x51adec
call fcn.00404690
push eax
push esi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x4417f5
mov dword [esp + 0x14], edi
cmp dword [0x537f30], 0
je 0x44183c
push 0x51add0
call fcn.00404690
push eax
lea edi, [ebp + 0x11c]
push edi
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x441834
push 0x51adb4
call fcn.00404690
push eax
push edi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x44183c
mov dword [esp + 0x14], 0
mov eax, dword [ebp + 0x224]
cmp eax, dword [0x53c278]
je 0x4418e8
push 0x51ada4
call fcn.00404690
mov ecx, dword [ebp + 0x224]
add esp, 4
push eax
push ecx
push ebx
call fcn.00410130
test eax, eax
je 0x4418e8
push 0x51ad94
call fcn.00404690
mov edx, dword [ebp + 0x224]
add esp, 4
push eax
push edx
push ebx
call fcn.00410130
test eax, eax
je 0x4418e8
mov eax, dword [ebp + 0x224]
push eax
lea eax, [ebp + 0x11c]
push eax
push esi
push 0x51ad78
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
mov ecx, dword [ebp + 0x224]
push ecx
push ebx
call fcn.0043d080
push 0x51ad6c
mov edi, eax
call fcn.00404690
push eax
push 0x527e20
call fcn.00401350
add esp, 0x28
test edi, edi
jne 0x4418e8
mov dword [esp + 0x14], 4
jmp 0x4418f6
mov eax, dword [esp + 0x14]
cmp eax, 2
jb 0x441926
cmp eax, 4
ja 0x441926
mov edx, dword [0x51ad58]
mov eax, dword [0x51ad5c]
mov ecx, dword [0x51ad60]
mov dword [esp + 0x1c], edx
mov edx, dword [0x51ad64]
mov dword [esp + 0x20], eax
mov eax, dword [0x51ad68]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
push 0x51ad48
call fcn.00404690
mov ecx, dword [ebp + 0x224]
add esp, 4
push eax
push ecx
push ebx
call fcn.00410130
test eax, eax
je 0x44198e
push 0x51ad3c
call fcn.00404690
mov edx, dword [ebp + 0x224]
add esp, 4
push eax
push edx
push ebx
call fcn.00410130
test eax, eax
je 0x44198e
mov eax, dword [0x51ad30]
mov ecx, dword [0x51ad34]
mov edx, dword [0x51ad38]
mov dword [esp + 0x14], 5
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
jmp 0x442ad1
push 0x51ad1c
call fcn.00404690
add esp, 4
push eax
mov eax, dword [ebp + 0x224]
push eax
push ebx
call fcn.00410130
test eax, eax
je 0x441a22
push 0x51ad08
call fcn.00404690
mov ecx, dword [ebp + 0x224]
add esp, 4
push eax
push ecx
push ebx
call fcn.00410130
test eax, eax
je 0x441a22
push 0x510e50
call fcn.00404690
push eax
push 0x53972c
call fcn.004b9ca4
add esp, 0xc
test eax, eax
jne 0x442ad1
push 0x51acf4
call fcn.00404690
add esp, 4
push eax
push 0
call dword [sym.imp.USER32.dll_FindWindowA]
test eax, eax
jne 0x442ad1
mov edx, dword [0x51acec]
mov eax, dword [0x51acf0]
mov dword [esp + 0x14], 6
jmp 0x442ac9
cmp dword [0x537f24], 0
jne 0x441a9c
push 0x51a10c
call fcn.00404690
mov ecx, dword [ebp + 0x224]
add esp, 4
push eax
push ecx
push ebx
call fcn.00410130
test eax, eax
je 0x441a9c
push 0x51a0f8
call fcn.00404690
mov edx, dword [ebp + 0x224]
add esp, 4
push eax
push edx
push ebx
call fcn.00410130
test eax, eax
je 0x441a9c
mov eax, dword [0x51a0d0]
mov ecx, dword [0x51a0d4]
mov edx, dword [0x51a0d8]
mov dword [esp + 0x1c], eax
mov eax, dword [0x51a0dc]
mov dword [esp + 0x14], 7
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
jmp 0x442ad1
push 0x51ace0
call fcn.00404690
mov ecx, dword [ebp + 0x224]
add esp, 4
push eax
push ecx
push ebx
call fcn.00410130
test eax, eax
je 0x441b19
push 0x51acc8
call fcn.00404690
mov edx, dword [ebp + 0x224]
add esp, 4
push eax
push edx
push ebx
call fcn.00410130
test eax, eax
je 0x441b19
mov eax, dword [0x51acb8]
mov ecx, dword [0x51acbc]
mov edx, dword [0x51acc0]
mov dword [esp + 0x1c], eax
mov ax, word [0x51acc4]
mov dword [esp + 0x20], ecx
mov cl, byte [0x51acc6]
mov dword [esp + 0x14], 8
mov dword [esp + 0x24], edx
mov word [esp + 0x28], ax
mov byte [esp + 0x2a], cl
jmp 0x442ad1
push 0x51acac
call fcn.00404690
mov edx, dword [ebp + 0x224]
add esp, 4
push eax
push edx
push ebx
call fcn.00410130
test eax, eax
je 0x441b8d
push 0x51ac98
call fcn.00404690
add esp, 4
push eax
mov eax, dword [ebp + 0x224]
push eax
push ebx
call fcn.00410130
test eax, eax
je 0x441b8d
mov ecx, dword [0x51ac8c]
mov edx, dword [0x51ac90]
mov ax, word [0x51ac94]
mov dword [esp + 0x1c], ecx
mov cl, byte [0x51ac96]
mov dword [esp + 0x14], 9
mov dword [esp + 0x20], edx
mov word [esp + 0x24], ax
mov byte [esp + 0x26], cl
jmp 0x442ad1
push 0x51ac78
call fcn.00404690
mov edx, dword [ebp + 0x224]
add esp, 4
push eax
push edx
push ebx
call fcn.00410130
test eax, eax
je 0x441bf7
push 0x51ac64
call fcn.00404690
add esp, 4
push eax
mov eax, dword [ebp + 0x224]
push eax
push ebx
call fcn.00410130
test eax, eax
je 0x441bf7
mov ecx, dword [0x51ac58]
mov edx, dword [0x51ac5c]
mov ax, word [0x51ac60]
mov dword [esp + 0x14], 0xa
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
mov word [esp + 0x24], ax
jmp 0x442ad1
push 0x51ac44
call fcn.00404690
mov ecx, dword [ebp + 0x224]
add esp, 4
push eax
push ecx
push ebx
call fcn.00410130
test eax, eax
je 0x441c55
push 0x51ac30
call fcn.00404690
mov edx, dword [ebp + 0x224]
add esp, 4
push eax
push edx
push ebx
call fcn.00410130
test eax, eax
je 0x441c55
mov eax, dword [0x51ac28]
mov ecx, dword [0x51ac2c]
mov dword [esp + 0x14], 0xb
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ecx
jmp 0x442ad1
push 0x51abf4
call fcn.00404690
mov edx, dword [ebp + 0x224]
add esp, 4
push eax
push edx
push ebx
call fcn.00410130
test eax, eax
je 0x441cbd
push 0x51abcc
call fcn.00404690
add esp, 4
push eax
mov eax, dword [ebp + 0x224]
push eax
push ebx
call fcn.00410130
test eax, eax
je 0x441cbd
mov eax, 0xc
mov ecx, dword [0x51ac58]
mov edx, dword [0x51ac5c]
mov dword [esp + 0x1c], ecx
mov cx, word [0x51ac60]
mov dword [esp + 0x20], edx
mov word [esp + 0x24], cx
jmp 0x443188
push 0x51abb8
call fcn.00404690
mov edx, dword [ebp + 0x224]
add esp, 4
push eax
push edx
push ebx
call fcn.00410130
test eax, eax
je 0x441d2f
push 0x51aba4
call fcn.00404690
add esp, 4
push eax
mov eax, dword [ebp + 0x224]
push eax
push ebx
call fcn.00410130
test eax, eax
je 0x441d2f
mov ecx, dword [0x51ab94]
mov edx, dword [0x51ab98]
mov eax, dword [0x51ab9c]
mov dword [esp + 0x1c], ecx
mov cl, byte [0x51aba0]
mov dword [esp + 0x14], 0xd
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], eax
mov byte [esp + 0x28], cl
jmp 0x442ad1
push 0x51ab88
call fcn.00404690
mov edx, dword [ebp + 0x224]
add esp, 4
push eax
push edx
push ebx
call fcn.00410130
test eax, eax
je 0x441da9
push 0x51ab74
call fcn.00404690
add esp, 4
push eax
mov eax, dword [ebp + 0x224]
push eax
push ebx
call fcn.00410130
test eax, eax
je 0x441da9
push 0x1b
call fcn.0040a8e0
add esp, 4
test eax, eax
jne 0x442ad1
mov ecx, dword [0x51ab68]
mov edx, dword [0x51ab6c]
mov eax, dword [0x51ab70]
mov dword [esp + 0x14], 0xe
mov dword [esp + 0x1c], ecx
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], eax
jmp 0x442ad1
push 0x51ab58
call fcn.00404690
mov ecx, dword [ebp + 0x224]
add esp, 4
push eax
push ecx
push ebx
call fcn.00410130
test eax, eax
je 0x441e0f
mov edx, dword [0x51ab40]
mov eax, dword [0x51ab44]
mov ecx, dword [0x51ab48]
mov dword [esp + 0x1c], edx
mov edx, dword [0x51ab4c]
mov dword [esp + 0x20], eax
mov eax, dword [0x51ab50]
mov dword [esp + 0x24], ecx
mov cl, byte [0x51ab54]
mov dword [esp + 0x14], 0xf
mov dword [esp + 0x28], edx
mov dword [esp + 0x2c], eax
mov byte [esp + 0x30], cl
jmp 0x442ad1
push 0x51ab30
call fcn.00404690
mov edx, dword [ebp + 0x224]
add esp, 4
push eax
push edx
push ebx
call fcn.00410130
test eax, eax
je 0x441e38
mov eax, 0x10
jmp 0x441c98
push 0x51ab18
call fcn.00404690
mov edx, dword [ebp + 0x224]
add esp, 4
push eax
push edx
push ebx
call fcn.00410130
test eax, eax
je 0x441ea0
mov eax, dword [0x51ab04]
mov ecx, dword [0x51ab08]
mov edx, dword [0x51ab0c]
mov dword [esp + 0x1c], eax
mov eax, dword [0x51ab10]
mov dword [esp + 0x20], ecx
mov cx, word [0x51ab14]
mov dword [esp + 0x24], edx
mov dl, byte [0x51ab16]
mov dword [esp + 0x14], 0x11
mov dword [esp + 0x28], eax
mov word [esp + 0x2c], cx
mov byte [esp + 0x2e], dl
jmp 0x442ad1
cmp byte [0x53c042], 0
jne 0x441ebf
cmp byte [0x53c043], 0
jne 0x441ebf
cmp byte [0x53c045], 0
je 0x441f41
push 0x51aaf4
call fcn.00404690
add esp, 4
push eax
mov eax, dword [ebp + 0x224]
push eax
push ebx
call fcn.00410130
test eax, eax
je 0x441f41
push 0x51aae0
call fcn.00404690
mov ecx, dword [ebp + 0x224]
add esp, 4
push eax
push ecx
push ebx
call fcn.00410130
test eax, eax
je 0x441f41
push 0x1b
call fcn.0040a8e0
add esp, 4
test eax, eax
jne 0x442ad1
mov edx, dword [0x51aad4]
mov cx, word [0x51aadc]
mov eax, dword [0x51aad8]
mov dword [esp + 0x1c], edx
mov dl, byte [0x51aade]
mov dword [esp + 0x14], 0x12
mov word [esp + 0x24], cx
mov byte [esp + 0x26], dl
jmp 0x442acd
push 0x51aac4
call fcn.00404690
add esp, 4
push eax
mov eax, dword [ebp + 0x224]
push eax
push ebx
call fcn.00410130
test eax, eax
je 0x441fc3
push 0x51aab4
call fcn.00404690
mov ecx, dword [ebp + 0x224]
add esp, 4
push eax
push ecx
push ebx
call fcn.00410130
test eax, eax
je 0x441fc3
push 0x1b
call fcn.0040a8e0
add esp, 4
test eax, eax
jne 0x442ad1
mov edx, dword [0x51aaa8]
mov cx, word [0x51aab0]
mov eax, dword [0x51aaac]
mov dword [esp + 0x1c], edx
mov dl, byte [0x51aab2]
mov dword [esp + 0x14], 0x13
mov word [esp + 0x24], cx
mov byte [esp + 0x26], dl
jmp 0x442acd
push 0x51aa94
call fcn.00404690
push eax
lea edi, [ebp + 0x11c]
push edi
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x442053
push 0x51aa88
call fcn.00404690
add esp, 4
push eax
mov eax, dword [ebp + 0x224]
push eax
push ebx
call fcn.00410130
test eax, eax
je 0x442053
push 0x51aa7c
call fcn.00404690
mov ecx, dword [ebp + 0x224]
add esp, 4
push eax
push ecx
push ebx
call fcn.00410130
test eax, eax
je 0x442053
push 0x1b
call fcn.0040a8e0
add esp, 4
test eax, eax
jne 0x442ad1
mov ecx, dword [0x51aa78]
mov edx, dword [0x51aa70]
mov eax, dword [0x51aa74]
mov dword [esp + 0x14], 0x14
mov dword [esp + 0x24], ecx
jmp 0x442ac9
push 0x51aa60
call fcn.00404690
mov edx, dword [ebp + 0x224]
add esp, 4
push eax
push edx
push ebx
call fcn.00410130
test eax, eax
je 0x4420c7
push 0x51aa50
call fcn.00404690
add esp, 4
push eax
mov eax, dword [ebp + 0x224]
push eax
push ebx
call fcn.00410130
test eax, eax
je 0x4420c7
mov ecx, dword [0x51aa44]
mov edx, dword [0x51aa48]
mov ax, word [0x51aa4c]
mov dword [esp + 0x1c], ecx
mov cl, byte [0x51aa4e]
mov dword [esp + 0x14], 0x15
mov dword [esp + 0x20], edx
mov word [esp + 0x24], ax
mov byte [esp + 0x26], cl
jmp 0x442ad1
cmp byte [0x53c04b], 0
je 0x442142
push 0x51aa34
call fcn.00404690
mov edx, dword [ebp + 0x224]
add esp, 4
push eax
push edx
push ebx
call fcn.00410130
test eax, eax
je 0x442142
push 0x51aa24
call fcn.00404690
add esp, 4
push eax
mov eax, dword [ebp + 0x224]
push eax
push ebx
call fcn.00410130
test eax, eax
je 0x442142
mov ecx, dword [0x51aa14]
mov edx, dword [0x51aa18]
mov eax, dword [0x51aa1c]
mov dword [esp + 0x1c], ecx
mov ecx, dword [0x51aa20]
mov dword [esp + 0x14], 0x16
mov dword [esp + 0x20], edx
mov dword [esp + 0x24], eax
mov dword [esp + 0x28], ecx
jmp 0x442ad1
push 0x51aa04
call fcn.00404690
push eax
push edi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x4421c0
push 0x51a9ec
call fcn.00404690
mov edx, dword [ebp + 0x224]
add esp, 4
push eax
push edx
push ebx
call fcn.00410130
test eax, eax
je 0x4421c0
mov eax, dword [0x51a9d4]
mov ecx, dword [0x51a9d8]
mov edx, dword [0x51a9dc]
mov dword [esp + 0x1c], eax
mov eax, dword [0x51a9e0]
mov dword [esp + 0x20], ecx
mov ecx, dword [0x51a9e4]
mov dword [esp + 0x24], edx
mov edx, dword [0x51a9e8]
mov dword [esp + 0x14], 0x17
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
mov dword [esp + 0x30], edx
jmp 0x442ad1
push 0x51a9c4
call fcn.00404690
push eax
push edi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x442216
push 0x51a9b8
call fcn.00404690
add esp, 4
push eax
mov eax, dword [ebp + 0x224]
push eax
push ebx
call fcn.00410130
test eax, eax
je 0x442216
mov ecx, 8
mov esi, 0x51a994
lea edi, [esp + 0x1c]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x14], 0x18
movsw word es:[edi], word [esi]
jmp 0x442ad1
push 0x51a988
call fcn.00404690
mov ecx, dword [ebp + 0x224]
add esp, 4
push eax
push ecx
push ebx
call fcn.00410130
test eax, eax
je 0x442273
push 0x51a97c
call fcn.00404690
mov edx, dword [ebp + 0x224]
add esp, 4
push eax
push edx
push ebx
call fcn.00410130
test eax, eax
je 0x442273
mov ecx, 7
mov esi, 0x51a95c
lea edi, [esp + 0x1c]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x14], 0x19
movsw word es:[edi], word [esi]
jmp 0x442ad1
push 0x51a94c
call fcn.00404690
push eax
push edi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x4422c9
push 0x51a934
call fcn.00404690
add esp, 4
push eax
mov eax, dword [ebp + 0x224]
push eax
push ebx
call fcn.00410130
test eax, eax
je 0x4422c9
mov ecx, 7
mov esi, 0x51a914
lea edi, [esp + 0x1c]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x14], 0x1a
movsw word es:[edi], word [esi]
jmp 0x442ad1
push 0x51a8fc
call fcn.00404690
push eax
push edi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x44231f
push 0x51a8ec
call fcn.00404690
mov ecx, dword [ebp + 0x224]
add esp, 4
push eax
push ecx
push ebx
call fcn.00410130
test eax, eax
je 0x44231f
mov ecx, 7
mov esi, 0x51a8cc
lea edi, [esp + 0x1c]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x14], 0x1b
movsw word es:[edi], word [esi]
jmp 0x442ad1
push 0x51a8b4
call fcn.00404690
mov edx, dword [ebp + 0x224]
add esp, 4
push eax
push edx
push ebx
call fcn.00410130
test eax, eax
je 0x44237b
push 0x51a89c
call fcn.00404690
add esp, 4
push eax
mov eax, dword [ebp + 0x224]
push eax
push ebx
call fcn.00410130
test eax, eax
je 0x44237b
mov ecx, 8
mov esi, 0x51a878
lea edi, [esp + 0x1c]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x14], 0x1c
movsb byte es:[edi], byte [esi]
jmp 0x442ad1
push 0x51a864
call fcn.00404690
mov ecx, dword [ebp + 0x224]
add esp, 4
push eax
push ecx
push ebx
call fcn.00410130
test eax, eax
je 0x4423ec
push 0x51a854
call fcn.00404690
mov edx, dword [ebp + 0x224]
add esp, 4
push eax
push edx
push ebx
call fcn.00410130
test eax, eax
je 0x4423ec
mov eax, dword [0x51a844]
mov ecx, dword [0x51a848]
mov edx, dword [0x51a84c]
mov dword [esp + 0x1c], eax
mov eax, dword [0x51a850]
mov dword [esp + 0x14], 0x1d
mov dword [esp + 0x20], ecx
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], eax
jmp 0x442ad1
cmp dword [0x537f24], 0
jne 0x442612
push 0x51a178
call fcn.00404690
mov ecx, dword [ebp + 0x224]
add esp, 4
push eax
push ecx
push ebx
call fcn.00410130
test eax, eax
je 0x442612
push 0x51a160
call fcn.00404690
mov edx, dword [ebp + 0x224]
add esp, 4
push eax
push edx
push ebx
call fcn.00410130
test eax, eax
je 0x442612
cmp dword [0x54a138], 0x4e48
jb 0x442467
push 0x51a14c
call fcn.00404690
push eax
push esi
call fcn.00404270
add esp, 0xc
test eax, eax
jne 0x442612
cmp byte [0x53c052], 0
je 0x442ad1
cmp dword [0x5378d0], 0
je 0x4425c9
cmp dword [0x54a138], 0x4e48
jb 0x4425c9
push 0x104
lea eax, [esp + 0x329]
push 0
push eax
mov byte [esp + 0x330], 0
call fcn.004b6dc0
push 0x104
lea ecx, [esp + 0x22d]
push 0
push ecx
mov byte [esp + 0x234], 0
call fcn.004b6dc0
add esp, 0x18
push 0x104
lea edx, [esp + 0x220]
push edx
call dword [sym.imp.KERNEL32.dll_GetWindowsDirectoryA]
test eax, eax
je 0x442ad1
xor eax, eax
lea esp, [esp]
mov cl, byte [esp + eax + 0x21c]
mov byte [esp + eax + 0x324], cl
inc eax
test cl, cl
jne 0x4424f0
push 0x51a130
call fcn.00404690
add esp, 4
mov edx, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x442512
lea edi, [esp + 0x21c]
sub eax, edx
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x442523
mov ecx, eax
shr ecx, 2
mov esi, edx
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
lea eax, [esp + 0x21c]
and ecx, 3
push eax
rep movsb byte es:[edi], byte [esi]
call fcn.004ba189
push 0x51a114
call fcn.00404690
add esp, 8
mov esi, eax
mov cl, byte [eax]
inc eax
test cl, cl
jne 0x442557
lea edi, [esp + 0x324]
sub eax, esi
dec edi
mov cl, byte [edi + 1]
inc edi
test cl, cl
jne 0x442568
mov ecx, eax
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
lea ecx, [esp + 0x324]
push ecx
call fcn.004ba189
lea edx, [esp + 0x220]
push edx
lea eax, [ebp + 0x11c]
push eax
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x442ad1
lea eax, [esp + 0x324]
push eax
lea eax, [ebp + 0x11c]
push eax
call fcn.004b9929
add esp, 8
test eax, eax
jne 0x442ad1
mov ecx, dword [0x51a0e0]
mov edx, dword [0x51a0e4]
mov eax, dword [0x51a0e8]
mov dword [esp + 0x1c], ecx
mov ecx, dword [0x51a0ec]
mov dword [esp + 0x20], edx
mov edx, dword [0x51a0f0]
mov dword [esp + 0x24], eax
mov ax, word [0x51a0f4]
mov dword [esp + 0x14], 0x1e
mov dword [esp + 0x28], ecx
mov dword [esp + 0x2c], edx
mov word [esp + 0x30], ax
jmp 0x442ad1
push 0x51a82c
call fcn.00404690
mov ecx, dword [ebp + 0x224]
add esp, 4
push eax
push ecx
push ebx
call fcn.00410130
test eax, eax
je 0x4426b5
push 0x51a81c
call fcn.00404690
mov edx, dword [ebp + 0x224]
add esp, 4
push eax
push edx
push ebx
call fcn.00410130
test eax, eax
je 0x4426b5
push 0x51a80c
call fcn.00404690
push eax
push edi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x4426b5
mov eax, dword [0x51a7f4]
mov ecx, dword [0x51a7f8]
mov edx, dword [0x51a7fc]
mov dword [esp + 0x1c], eax
mov eax, dword [0x51a800]
mov dword [esp + 0x20], ecx
mov ecx, dword [0x51a804]
mov dword [esp + 0x24], edx
mov dx, word [0x51a808]
mov dword [esp + 0x14], 0x20
mov dword [esp + 0x28], eax
mov dword [esp + 0x2c], ecx
mov word [esp + 0x30], dx
jmp 0x442ad1
push 0x51a7e0
call fcn.00404690
add esp, 4
push eax
mov eax, dword [ebp + 0x224]
push eax
push ebx
call fcn.00410130
test eax, eax
je 0x442710
push 0x51a7cc
call fcn.00404690
mov ecx, dword [ebp + 0x224]
add esp, 4
push eax
push ecx
push ebx
call fcn.00410130
test eax, eax
je 0x442710
mov ecx, 8
mov esi, 0x51a7ac
lea edi, [esp + 0x1c]
mov dword [esp + 0x14], 0x21
rep movsd dword es:[edi], dword [esi]
jmp 0x442ad1
push 0x51a79c
call fcn.00404690
mov edx, dword [ebp + 0x224]
add esp, 4
push eax
push edx
push ebx
call fcn.00410130
test eax, eax
je 0x44276d
push 0x51a78c
call fcn.00404690
add esp, 4
push eax
mov eax, dword [ebp + 0x224]
push eax
push ebx
call fcn.00410130
test eax, eax
je 0x44276d
mov ecx, 6
mov esi, 0x51a770
lea edi, [esp + 0x1c]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x14], 0x22
movsw word es:[edi], word [esi]
jmp 0x442ad1
push 0x51a75c
call fcn.00404690
push eax
push edi
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x442ab6
push 0x51a74c
call fcn.00404690
push eax
push edi
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x442ab6
push 0x51a73c
call fcn.00404690
push eax
push edi
call fcn.004b9929
add esp, 0xc
test eax, eax
jne 0x442ab6
push 0x51a72c
call fcn.00404690
mov ecx, dword [ebp + 0x224]
add esp, 4
push eax
push ecx
push ebx
call fcn.00410130
test eax, eax
je 0x442822
push 5
call fcn.0040a8e0
add esp, 4
test eax, eax
je 0x442ad1
mov edx, dword [0x51a71c]
mov ecx, dword [0x51a724]
mov eax, dword [0x51a720]
mov dword [esp + 0x1c], edx
mov edx, dword [0x51a728]
mov dword [esp + 0x14], 0x24
mov dword [esp + 0x24], ecx
mov dword [esp + 0x28], edx
jmp 0x442acd
push 0x51a70c
call fcn.00404690
add esp, 4
push eax
mov eax, dword [ebp + 0x224]
push eax
push ebx
call fcn.00410130
test eax, eax
je 0x442882
push 0x51a6f8
call fcn.00404690
mov ecx, dword [ebp + 0x224]
add esp, 4
push eax
push ecx
push ebx
call fcn.00410130
test eax, eax
je 0x442882
mov cl, byte [0x51a6f4]
mov edx, dword [0x51a6ec]
mov eax, dword [0x51a6f0]
mov dword [esp + 0x14], 0x25
mov byte [esp + 0x24], cl
jmp 0x442ac9
push 0x51a6d8
call fcn.00404690
push eax
push edi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x4428d9
mov edx, dword [0x51a6c8]
mov eax, dword [0x51a6cc]
mov ecx, dword [0x51a6d0]
mov dword [esp + 0x1c], edx
mov dx, word [0x51a6d4]
mov dword [esp + 0x20], eax
mov al, byte [0x51a6d6]
mov dword [esp + 0x14], 0x26
mov dword [esp + 0x24], ecx
mov word [esp + 0x28], dx
mov byte [esp + 0x2a], al
jmp 0x442ad1
push 0x51957c
call fcn.00404690
mov ecx, dword [ebp + 0x224]
add esp, 4
push eax
push ecx
push ebx
call fcn.00410130
test eax, eax
je 0x442961
push 0x519568
call fcn.00404690
mov edx, dword [ebp + 0x224]
add esp, 4
push eax
push edx
push ebx
call fcn.00410130
test eax, eax
je 0x442961
push 0x519614
call fcn.00404690
push eax
push 0x53972c
call fcn.004b9ca4
add esp, 0xc
test eax, eax
jne 0x442ad1
mov eax, dword [0x51a6bc]
mov ecx, dword [0x51a6c0]
mov dl, byte [0x51a6c4]
mov dword [esp + 0x14], 0x27
mov dword [esp + 0x1c], eax
mov dword [esp + 0x20], ecx
mov byte [esp + 0x24], dl
jmp 0x442ad1
push 0x519550
call fcn.00404690
add esp, 4
push eax
mov eax, dword [ebp + 0x224]
push eax
push ebx
call fcn.00410130
test eax, eax
je 0x4429e1
push 0x519538
call fcn.00404690
mov ecx, dword [ebp + 0x224]
add esp, 4
push eax
push ecx
push ebx
call fcn.00410130
test eax, eax
je 0x4429e1
push 0x519614
call fcn.00404690
push eax
push 0x53972c
call fcn.004b9ca4
add esp, 0xc
test eax, eax
jne 0x442ad1
mov cl, byte [0x51a6c4]
mov edx, dword [0x51a6bc]
mov eax, dword [0x51a6c0]
mov dword [esp + 0x14], 0x28
mov byte [esp + 0x24], cl
jmp 0x442ac9
push 0x51a6a4
call fcn.00404690
mov edx, dword [ebp + 0x224]
add esp, 4
push eax
push edx
push ebx
call fcn.00410130
test eax, eax
je 0x442a3c
push 0x51a68c
call fcn.00404690
add esp, 4
push eax
mov eax, dword [ebp + 0x224]
push eax
push ebx
call fcn.00410130
test eax, eax
je 0x442a3c
mov ecx, 7
mov esi, 0x51a670
lea edi, [esp + 0x1c]
mov dword [esp + 0x14], 0x29
rep movsd dword es:[edi], dword [esi]
jmp 0x442ad1
push 0x51a64c
call fcn.00404690
mov ecx, dword [ebp + 0x224]
add esp, 4
push eax
push ecx
push ebx
call fcn.00410130
test eax, eax
jne 0x442a7a
push 0x51a628
call fcn.00404690
mov edx, dword [ebp + 0x224]
add esp, 4
push eax
push edx
push ebx
call fcn.00410130
test eax, eax
je 0x442ad1
mov eax, dword [0x51a618]
mov ecx, dword [0x51a61c]
mov edx, dword [0x51a620]
mov dword [esp + 0x1c], eax
mov ax, word [0x51a624]
mov dword [esp + 0x20], ecx
mov cl, byte [0x51a626]
mov dword [esp + 0x14], 0x2a
mov dword [esp + 0x24], edx
mov word [esp + 0x28], ax
mov byte [esp + 0x2a], cl
jmp 0x442ad1
mov edx, dword [0x51a610]
mov eax, dword [0x51a614]
mov dword [esp + 0x14], 0x23
mov dword [esp + 0x1c], edx
mov dword [esp + 0x20], eax
mov ecx, dword [esp + 0x434]
push ecx
call fcn.0040a880
add esp, 4
test eax, eax
je 0x44317c
push 0x51a5f8
call fcn.00404690
mov edx, dword [ebp + 0x224]
add esp, 4
push eax
push edx
push ebx
call fcn.00410130
test eax, eax
jne 0x443157
push 0x51a5e4
call fcn.00404690
add esp, 4
push eax
mov eax, dword [ebp + 0x224]
push eax
push ebx
call fcn.00410130
test eax, eax
je 0x442b4e
push 0x51a5d0
call fcn.00404690
mov ecx, dword [ebp + 0x224]
add esp, 4
push eax
push ecx
push ebx
call fcn.00410130
test eax, eax
jne 0x443157
push 0x51a5ac
call fcn.00404690
mov edx, dword [ebp + 0x224]
add esp, 4
push eax
push edx
push ebx
call fcn.00410130
test eax, eax
je 0x442ba1
mov ecx, dword [0x51a59c]
mov edx, dword [0x51a5a0]
mov dword [esp + 0x1c], ecx
mov ecx, dword [0x51a5a4]
mov dword [esp + 0x20], edx
mov dx, word [0x51a5a8]
mov eax, 0x2c
mov dword [esp + 0x24], ecx
mov word [esp + 0x28], dx
jmp 0x443184
push 0x51a58c
call fcn.00404690
add esp, 4
push eax
mov eax, dword [ebp + 0x224]
push eax
push ebx
call fcn.00410130
test eax, eax
je 0x442c13
push 0x51a570
call fcn.00404690
mov ecx, dword [ebp + 0x224]
add esp, 4
push eax
push ecx
push ebx
call fcn.00410130
test eax, eax
je 0x442c13
mov edx, dword [0x51a564]
mov ecx, dword [0x51a568]
mov dword [esp + 0x1c], edx
mov dx, word [0x51a56c]
mov dword [esp + 0x20], ecx
mov cl, byte [0x51a56e]
mov eax, 0x2d
mov word [esp + 0x24], dx
mov byte [esp + 0x26], cl
jmp 0x443184
push 0x51a58c
call fcn.00404690
mov edx, dword [ebp + 0x224]
add esp, 4
push eax
push edx
push ebx
call fcn.00410130
test eax, eax
je 0x442c85
push 0x51a570
call fcn.00404690
add esp, 4
push eax
mov eax, dword [ebp + 0x224]
push eax
push ebx
call fcn.00410130
test eax, eax
je 0x442c85
mov ecx, dword [0x51a564]
mov edx, dword [0x51a568]
mov dword [esp + 0x1c], ecx
mov cx, word [0x51a56c]
mov dword [esp + 0x20], edx
mov dl, byte [0x51a56e]
mov eax, 0x2e
mov word [esp + 0x24], cx
mov byte [esp + 0x26], dl
jmp 0x443184
push 0x51a550
call fcn.00404690
push eax
lea esi, [ebp + 0x11c]
push esi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x442d00
push 0x51a544
call fcn.00404690
add esp, 4
push eax
mov eax, dword [ebp + 0x224]
push eax
push ebx
call fcn.00410130
test eax, eax
je 0x442d00
mov ecx, dword [0x51a534]
mov edx, dword [0x51a538]
mov dword [esp + 0x1c], ecx
mov ecx, dword [0x51a53c]
mov dword [esp + 0x20], edx
mov dx, word [0x51a540]
mov dword [esp + 0x24], ecx
mov cl, byte [0x51a542]
mov eax, 0x2f
mov word [esp + 0x28], dx
mov byte [esp + 0x2a], cl
jmp 0x443184
push 0x51a524
call fcn.00404690
mov edx, dword [ebp + 0x224]
add esp, 4
push eax
push edx
push ebx
call fcn.00410130
test eax, eax
jne 0x443114
push 0x51a510
call fcn.00404690
add esp, 4
push eax
mov eax, dword [ebp + 0x224]
push eax
push ebx
call fcn.00410130
test eax, eax
jne 0x443114
push 0x51a4fc
call fcn.00404690
mov ecx, dword [ebp + 0x224]
add esp, 4
push eax
push ecx
push ebx
call fcn.00410130
test eax, eax
jne 0x4430d1
push 0x51a4e8
call fcn.00404690
mov edx, dword [ebp + 0x224]
add esp, 4
push eax
push edx
push ebx
call fcn.00410130
test eax, eax
jne 0x4430d1
push 0x51a4d4
call fcn.00404690
add esp, 4
push eax
mov eax, dword [ebp + 0x224]
push eax
push ebx
call fcn.00410130
test eax, eax
jne 0x44308b
push 0x51a4bc
call fcn.00404690
mov ecx, dword [ebp + 0x224]
add esp, 4
push eax
push ecx
push ebx
call fcn.00410130
test eax, eax
jne 0x44308b
push 0x51a4a8
call fcn.00404690
mov edx, dword [ebp + 0x224]
add esp, 4
push eax
push edx
push ebx
call fcn.00410130
test eax, eax
jne 0x44308b
push 0x51a498
call fcn.00404690
push eax
push esi
call fcn.004b9929
add esp, 0xc
test eax, eax
je 0x442e4f
push 0x51a488
call fcn.00404690
add esp, 4
push eax
mov eax, dword [ebp + 0x224]
push eax
push ebx
call fcn.00410130
test eax, eax
je 0x442e4f
mov ecx, 6
mov esi, 0x51a46c
lea edi, [esp + 0x1c]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x14], 0x33
mov eax, dword [esp + 0x14]
movsw word es:[edi], word [esi]
jmp 0x443184
push 0x51a458
call fcn.00404690
mov ecx, dword [ebp + 0x224]
add esp, 4
push eax
push ecx
push ebx
call fcn.00410130
test eax, eax
je 0x442ee7
push 0x51a444
call fcn.00404690
mov edx, dword [ebp + 0x224]
add esp, 4
push eax
push edx
push ebx
call fcn.00410130
test eax, eax
je 0x442ee7
push 0xb
call fcn.0040a8e0
add esp, 4
test eax, eax
je 0x44317c
mov ecx, dword [0x51a430]
mov edx, dword [0x51a434]
mov dword [esp + 0x1c], ecx
mov ecx, dword [0x51a438]
mov dword [esp + 0x20], edx
mov edx, dword [0x51a43c]
mov dword [esp + 0x24], ecx
mov cx, word [0x51a440]
mov dword [esp + 0x28], edx
mov dl, byte [0x51a442]
mov eax, 0x34
mov word [esp + 0x2c], cx
mov byte [esp + 0x2e], dl
jmp 0x443184
push 0x51a41c
call fcn.00404690
add esp, 4
push eax
mov eax, dword [ebp + 0x224]
push eax
push ebx
call fcn.00410130
test eax, eax
je 0x442f59
push 0x51a400
call fcn.00404690
mov ecx, dword [ebp + 0x224]
add esp, 4
push eax
push ecx
push ebx
call fcn.00410130
test eax, eax
je 0x442f59
mov edx, dword [0x51a3f4]
mov ecx, dword [0x51a3f8]
mov dword [esp + 0x1c], edx
mov dx, word [0x51a3fc]
mov dword [esp + 0x20], ecx
mov cl, byte [0x51a3fe]
mov eax, 0x35
mov word [esp + 0x24], dx
mov byte [esp + 0x26], cl
jmp 0x443184
push 0x51a3e8
call fcn.00404690
mov edx, dword [ebp + 0x224]
add esp, 4
push eax
push edx
push ebx
call fcn.00410130
test eax, eax
je 0x442fcd
push 0x51a3dc
call fcn.00404690
add esp, 4
push eax
mov eax, dword [ebp + 0x224]
push eax
push ebx
call fcn.00410130
test eax, eax
je 0x442fcd
push 0x20
call fcn.0040a8e0
add esp, 4
test eax, eax
je 0x44317c
mov ecx, 5
mov esi, 0x51a3c4
lea edi, [esp + 0x1c]
rep movsd dword es:[edi], dword [esi]
movsw word es:[edi], word [esi]
mov dword [esp + 0x14], 0x36
mov eax, dword [esp + 0x14]
movsb byte es:[edi], byte [esi]
jmp 0x443184
push 0x51a3b0
call fcn.00404690
mov ecx, dword [ebp + 0x224]
add esp, 4
push eax
push ecx
push ebx
call fcn.00410130
test eax, eax
je 0x44317c
push 0x51a39c
call fcn.00404690
mov edx, dword [ebp + 0x224]
add esp, 4
push eax
push edx
push ebx
call fcn.00410130
test eax, eax
je 0x44317c
push 0x51a384
call fcn.00404690
add esp, 4
push eax
mov eax, dword [ebp + 0x224]
push eax
push ebx
call fcn.00410130
test eax, eax
je 0x44317c
push 0x51a370
call fcn.00404690
mov ecx, dword [ebp + 0x224]
add esp, 4
push eax
push ecx
push ebx
call fcn.00410130
test eax, eax
je 0x44317c
mov edx, dword [0x51a360]
mov ecx, dword [0x51a364]
mov dword [esp + 0x1c], edx
mov edx, dword [0x51a368]
mov dword [esp + 0x20], ecx
mov ecx, dword [0x51a36c]
mov eax, 0x37
mov dword [esp + 0x24], edx
mov dword [esp + 0x28], ecx
jmp 0x443184
push 0x1c
call fcn.0040a8e0
add esp, 4
test eax, eax
je 0x44317c
mov edx, dword [0x51a354]
mov ecx, dword [0x51a358]
mov dword [esp + 0x1c], edx
mov dx, word [0x51a35c]
mov dword [esp + 0x20], ecx
mov cl, byte [0x51a35e]
mov eax, 0x32
mov word [esp + 0x24], dx
mov byte [esp + 0x26], cl
jmp 0x443184
push 0x1c
call fcn.0040a8e0
add esp, 4
test eax, eax
je 0x44317c
mov edx, dword [0x51a348]
mov ecx, dword [0x51a34c]
mov dword [esp + 0x1c], edx
mov dx, word [0x51a350]
mov dword [esp + 0x20], ecx
mov cl, byte [0x51a352]
mov eax, 0x31
mov word [esp + 0x24], dx
mov byte [esp + 0x26], cl
jmp 0x443184
mov edx, dword [0x51a330]
mov ecx, dword [0x51a334]
mov dword [esp + 0x1c], edx
mov edx, dword [0x51a338]
mov dword [esp + 0x20], ecx
mov ecx, dword [0x51a33c]
mov dword [esp + 0x24], edx
mov edx, dword [0x51a340]
mov dword [esp + 0x28], ecx
mov ecx, dword [0x51a344]
mov eax, 0x30
mov dword [esp + 0x2c], edx
mov dword [esp + 0x30], ecx
jmp 0x443184
mov edx, dword [0x51a324]
mov ecx, dword [0x51a328]
mov dword [esp + 0x1c], edx
mov dl, byte [0x51a32c]
mov eax, 0x2b
mov dword [esp + 0x20], ecx
mov byte [esp + 0x24], dl
jmp 0x443184
mov eax, dword [esp + 0x14]
test eax, eax
je 0x4431e6
mov esi, dword [esp + 0x18]
push 0
lea edi, [eax + 0xbb8]
mov eax, dword [0x527d88]
push 0
push eax
push 0x50d930
call fcn.00404690
add esp, 4
push eax
lea ebx, [ebp + 0x11c]
push ebx
lea ecx, [esp + 0x30]
push ecx
push 0
push edi
push 2
push 2
call fcn.0043c0b0
mov edx, dword [ebp + 0x224]
add esp, 0x28
push edi
push edx
push ebx
push esi
push 0x51a304
call fcn.00404690
add esp, 4
push eax
push 0x527e20
call fcn.00401350
add esp, 0x18
mov ecx, dword [esp + 0x42c]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
xor al, al
call fcn.004b6da3
add esp, 0x420
ret