Function at 0x41dfba
Capabilities:
Authenticate hmac
Check for time delay via gettickcount
Contain obfuscated stackstrings
Parse pe header

Disassembly:
push 0xffffffffffffffff
push 0x5aa57b
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0x28
push ebx
push ebp
push esi
mov esi, ecx
lea eax, [esi + 0xdc]
mov dword [esi], 0x5b7a54
xor ebx, ebx
push edi
mov dword [esp + 0x34], esi
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov dword [esp + 0x40], ebx
mov dword [eax], 0x5b60dc
mov ecx, dword [0xaf9600]
mov dword [eax + 8], ecx
inc dword [0xaf9600]
mov dword [esp + 0x40], 1
lea eax, [esi + 0xfc]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 2
mov dword [eax], 0x5b60dc
mov edx, dword [0xaf9600]
mov dword [eax + 8], edx
inc dword [0xaf9600]
mov byte [esp + 0x40], 3
lea eax, [esi + 0x108]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 4
mov dword [eax], 0x5b60dc
mov ecx, dword [0xaf9600]
mov dword [eax + 8], ecx
inc dword [0xaf9600]
mov byte [esp + 0x40], 5
push 0x415c20
push 0x417f10
push 0x20
push 0x504
lea edx, [esi + 0x114]
push edx
call fcn.005904c4
mov byte [esp + 0x40], 6
push 0x415c20
push 0x417f10
push 0x20
push 0x504
lea eax, [esi + 0xa194]
push eax
call fcn.005904c4
mov byte [esp + 0x40], 7
lea eax, [esi + 0x14224]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 8
mov dword [eax], 0x5b60dc
mov ecx, dword [0xaf9600]
mov dword [eax + 8], ecx
inc dword [0xaf9600]
mov byte [esp + 0x40], 9
lea eax, [esi + 0x14230]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0xa
mov dword [eax], 0x5b60dc
mov edx, dword [0xaf9600]
mov dword [eax + 8], edx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0xb
lea ecx, [esi + 0x1425c]
call fcn.00418130
mov byte [esp + 0x40], 0xc
push fcn.0040e9a0
push 0x40f150
push 7
lea eax, [esi + 0x1451c]
push 0xc
push eax
mov dword [esp + 0x44], eax
call fcn.005904c4
mov byte [esp + 0x40], 0xe
lea eax, [esi + 0x14570]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0xf
mov dword [eax], 0x5b60dc
mov ecx, dword [0xaf9600]
mov dword [eax + 8], ecx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x10
lea eax, [esi + 0x1457c]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x11
mov dword [eax], 0x5b60dc
mov edx, dword [0xaf9600]
mov dword [eax + 8], edx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x12
lea eax, [esi + 0x14588]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x13
mov dword [eax], 0x5b60dc
mov ecx, dword [0xaf9600]
mov dword [eax + 8], ecx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x14
lea eax, [esi + 0x148e0]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x15
mov dword [eax], 0x5b60dc
mov edx, dword [0xaf9600]
mov dword [eax + 8], edx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x16
lea eax, [esi + 0x148ec]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x17
mov dword [eax], 0x5b60dc
mov ecx, dword [0xaf9600]
mov dword [eax + 8], ecx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x18
lea ecx, [esi + 0x16e68]
call fcn.004181e0
mov byte [esp + 0x40], 0x19
lea eax, [esi + 0x2a628]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x1a
mov dword [eax], 0x5b60dc
mov edx, dword [0xaf9600]
mov dword [eax + 8], edx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x1b
push 0x415ed0
push 0x418350
push 0xf
push 0x190
lea eax, [esi + 0x2a650]
push eax
call fcn.005904c4
mov byte [esp + 0x40], 0x1c
lea ecx, [esi + 0x2bdc0]
call fcn.00418570
mov byte [esp + 0x40], 0x1d
lea eax, [esi + 0x2cb0c]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x1e
mov dword [eax], 0x5b60dc
mov ecx, dword [0xaf9600]
mov dword [eax + 8], ecx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x1f
lea eax, [esi + 0x2cb18]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x20
mov dword [eax], 0x5b60dc
mov edx, dword [0xaf9600]
mov dword [eax + 8], edx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x21
lea eax, [esi + 0x2cb24]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x22
mov dword [eax], 0x5b60dc
mov ecx, dword [0xaf9600]
mov dword [eax + 8], ecx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x23
lea eax, [esi + 0x2cb30]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x24
mov dword [eax], 0x5b60dc
mov edx, dword [0xaf9600]
mov dword [eax + 8], edx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x25
lea eax, [esi + 0x2cb3c]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x26
mov dword [eax], 0x5b60dc
mov ecx, dword [0xaf9600]
mov dword [eax + 8], ecx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x27
lea eax, [esi + 0x2cb8c]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x28
mov dword [eax], 0x5b60dc
mov edx, dword [0xaf9600]
mov dword [eax + 8], edx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x29
lea eax, [esi + 0x2cb98]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x2a
mov dword [eax], 0x5b60dc
mov ecx, dword [0xaf9600]
mov dword [eax + 8], ecx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x2b
lea eax, [esi + 0x2cba8]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x2c
mov dword [eax], 0x5b60dc
mov edx, dword [0xaf9600]
mov dword [eax + 8], edx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x2d
lea eax, [esi + 0x2cea8]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x2e
mov dword [eax], 0x5b60dc
mov ecx, dword [0xaf9600]
mov dword [eax + 8], ecx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x2f
push 0x416190
push 0x418790
push 0x40
push 0xa0
lea edx, [esi + 0x2cecc]
push edx
call fcn.005904c4
mov byte [esp + 0x40], 0x30
push 0x416190
push 0x418790
push 0x100
push 0xa0
lea eax, [esi + 0x2f6cc]
push eax
call fcn.005904c4
mov byte [esp + 0x40], 0x31
push 0x416190
push 0x418790
push 0x100
push 0xa0
lea ecx, [esi + 0x396cc]
push ecx
call fcn.005904c4
mov byte [esp + 0x40], 0x32
lea eax, [esi + 0x436e0]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x33
mov dword [eax], 0x5b60dc
mov edx, dword [0xaf9600]
mov dword [eax + 8], edx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x34
lea eax, [esi + 0x436f0]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x35
mov dword [eax], 0x5b60dc
mov ecx, dword [0xaf9600]
mov dword [eax + 8], ecx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x36
push 0x416300
push 0x4189d0
push 0x100
push 0x78
lea edx, [esi + 0x43700]
push edx
call fcn.005904c4
mov byte [esp + 0x40], 0x37
lea eax, [esi + 0x4af00]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x38
mov dword [eax], 0x5b60dc
mov ecx, dword [0xaf9600]
mov dword [eax + 8], ecx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x39
push 0x4163e0
push 0x418b20
push 0x12
push 0x70
lea edx, [esi + 0x4af0c]
push edx
call fcn.005904c4
mov byte [esp + 0x40], 0x3a
push 0x4164e0
push 0x418ca0
push 0x1f4
push 0x110
lea eax, [esi + 0x4b6ec]
push eax
call fcn.005904c4
mov byte [esp + 0x40], 0x3b
lea eax, [esi + 0x6cb30]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x3c
mov dword [eax], 0x5b60dc
mov ecx, dword [0xaf9600]
mov dword [eax + 8], ecx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x3d
lea eax, [esi + 0x6cc3c]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x3e
mov dword [eax], 0x5b60dc
mov edx, dword [0xaf9600]
mov dword [eax + 8], edx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x3f
lea eax, [esi + 0x6cc48]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x40
mov dword [eax], 0x5b60dc
mov ecx, dword [0xaf9600]
mov dword [eax + 8], ecx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x41
lea eax, [esi + 0x6cc54]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x42
mov dword [eax], 0x5b60dc
mov edx, dword [0xaf9600]
mov dword [eax + 8], edx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x43
push 0x414da0
push 0x414d70
push 5
lea eax, [esi + 0x6cc60]
push 0x200
push eax
call fcn.005904c4
mov byte [esp + 0x40], 0x44
push fcn.0040e9a0
push 0x40f150
push 5
push 0xc
lea eax, [esi + 0x6d660]
push eax
call fcn.005904c4
mov byte [esp + 0x40], 0x45
xor edi, edi
call fcn.00590a11
and eax, 0x800000ff
jns 0x41e6f3
dec eax
or eax, 0xffffff00
inc eax
mov byte [edi + esi + 0x6d7bc], al
inc edi
cmp edi, 0x100
jl 0x41e6e0
xor edi, edi
call fcn.00590a11
and eax, 0x800000ff
jns 0x41e718
dec eax
or eax, 0xffffff00
inc eax
mov byte [edi + esi + 0x6d9bc], al
inc edi
cmp edi, 0x100
jl 0x41e705
xor edi, edi
lea ebx, [ebx]
call fcn.00590a11
and eax, 0x800000ff
jns 0x41e743
dec eax
or eax, 0xffffff00
inc eax
mov byte [edi + esi + 0x6dbbc], al
inc edi
cmp edi, 0x100
jl 0x41e730
lea eax, [esi + 0x6dcbc]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x46
mov dword [eax], 0x5b60dc
mov ecx, dword [0xaf9600]
mov dword [eax + 8], ecx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x47
lea eax, [esi + 0x6dcc8]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x48
mov dword [eax], 0x5b60dc
mov edx, dword [0xaf9600]
mov dword [eax + 8], edx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x49
lea eax, [esi + 0x6dcd4]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x4a
mov dword [eax], 0x5b60dc
mov ecx, dword [0xaf9600]
mov dword [eax + 8], ecx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x4b
lea edi, [esi + 0x6dce0]
mov ecx, edi
call fcn.00417df0
mov byte [esp + 0x40], 0x4c
lea ecx, [esi + 0x6dcf0]
call fcn.00417df0
mov byte [esp + 0x40], 0x4d
lea eax, [esi + 0x6dd00]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x4e
mov dword [eax], 0x5b60dc
mov edx, dword [0xaf9600]
mov dword [eax + 8], edx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x4f
lea eax, [esi + 0x6dd0c]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x50
mov dword [eax], 0x5b60dc
mov ecx, dword [0xaf9600]
mov dword [eax + 8], ecx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x51
lea eax, [esi + 0x6dd18]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x52
mov dword [eax], 0x5b60dc
mov edx, dword [0xaf9600]
mov dword [eax + 8], edx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x53
lea eax, [esi + 0x6dd24]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x54
mov dword [eax], 0x5b60dc
mov ecx, dword [0xaf9600]
mov dword [eax + 8], ecx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x55
lea eax, [esi + 0x6dd30]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x56
mov dword [eax], 0x5b60dc
mov edx, dword [0xaf9600]
mov dword [eax + 8], edx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x57
lea ebp, [esi + 0x6dd3c]
mov ecx, ebp
call fcn.00417df0
mov byte [esp + 0x40], 0x58
lea ecx, [esi + 0x6dd4c]
call fcn.00417df0
mov byte [esp + 0x40], 0x59
lea ecx, [esi + 0x6dd5c]
call fcn.00417df0
mov byte [esp + 0x40], 0x5a
lea ecx, [esi + 0x6dd6c]
call fcn.00417df0
mov byte [esp + 0x40], 0x5b
lea eax, [esi + 0x6dd7c]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x5c
mov dword [eax], 0x5b60dc
mov ecx, dword [0xaf9600]
mov dword [eax + 8], ecx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x5d
lea eax, [esi + 0x6dd88]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x5e
mov dword [eax], 0x5b60dc
mov edx, dword [0xaf9600]
mov dword [eax + 8], edx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x5f
lea ecx, [esi + 0x6dd94]
call fcn.00417df0
mov byte [esp + 0x40], 0x60
lea ecx, [esi + 0x6dda4]
call fcn.00417df0
mov byte [esp + 0x40], 0x61
lea eax, [esi + 0x6ddb4]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x62
mov dword [eax], 0x5b60dc
mov ecx, dword [0xaf9600]
mov dword [eax + 8], ecx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x63
lea eax, [esi + 0x6ddc0]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x64
mov dword [eax], 0x5b60dc
mov edx, dword [0xaf9600]
mov dword [eax + 8], edx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x65
lea eax, [esi + 0x6ddcc]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x66
mov dword [eax], 0x5b60dc
mov ecx, dword [0xaf9600]
mov dword [eax + 8], ecx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x67
lea ecx, [esi + 0x6ddd8]
call fcn.00417df0
mov byte [esp + 0x40], 0x68
lea ecx, [esi + 0x6dde8]
call fcn.00417df0
mov byte [esp + 0x40], 0x69
lea eax, [esi + 0x6ddf8]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x6a
mov dword [eax], 0x5b60dc
mov edx, dword [0xaf9600]
mov dword [eax + 8], edx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x6b
lea eax, [esi + 0x6de04]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x6c
mov dword [eax], 0x5b60dc
mov ecx, dword [0xaf9600]
mov dword [eax + 8], ecx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x6d
lea eax, [esi + 0x6de10]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x6e
mov dword [eax], 0x5b60dc
mov edx, dword [0xaf9600]
mov dword [eax + 8], edx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x6f
push fcn.0040e9a0
push 0x40f150
push 4
push 0xc
lea eax, [esi + 0x6de1c]
push eax
call fcn.005904c4
mov byte [esp + 0x40], 0x70
push fcn.0040e9a0
push 0x40f150
push 4
push 0xc
lea ecx, [esi + 0x6de4c]
push ecx
call fcn.005904c4
mov byte [esp + 0x40], 0x71
push fcn.0040e9a0
push 0x40f150
push 0x20
push 0xc
lea edx, [esi + 0x6de80]
push edx
call fcn.005904c4
mov byte [esp + 0x40], 0x72
push fcn.004174d0
push fcn.0041bb80
push 0xc
push 0x340
lea eax, [esi + 0x6e000]
push eax
call fcn.005904c4
mov byte [esp + 0x40], 0x73
push fcn.00417540
push fcn.0041bbe0
push 0x32
push 0xbec
lea ecx, [esi + 0x70700]
push ecx
call fcn.005904c4
mov byte [esp + 0x40], 0x74
lea ecx, [esi + 0x95be0]
call fcn.004f0f40
mov byte [esp + 0x40], 0x75
lea ecx, [esi + 0x95be4]
call fcn.004e9c10
mov byte [esp + 0x40], 0x76
lea ecx, [esi + 0x95c08]
call fcn.00417a20
mov byte [esp + 0x40], 0x77
lea ecx, [esi + 0x95c10]
call fcn.00417a20
mov byte [esp + 0x40], 0x78
push 0x4159f0
push 0x417ba0
push 9
push 0x30
lea edx, [esi + 0x95c2c]
push edx
call fcn.005904c4
mov byte [esp + 0x40], 0x79
push 0x4159f0
push 0x417ba0
push 4
push 0x30
lea eax, [esi + 0x95ddc]
push eax
call fcn.005904c4
mov byte [esp + 0x40], 0x7a
lea eax, [esi + 0x95f3c]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x7b
mov dword [eax], 0x5b60dc
mov ecx, dword [0xaf9600]
mov dword [eax + 8], ecx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x7c
lea eax, [esi + 0x95f48]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x7d
mov dword [eax], 0x5b60dc
mov edx, dword [0xaf9600]
mov dword [eax + 8], edx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x7e
lea eax, [esi + 0x95f54]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x7f
mov dword [eax], 0x5b60dc
mov ecx, dword [0xaf9600]
mov dword [eax + 8], ecx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x80
lea eax, [esi + 0x96f60]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x81
mov dword [eax], 0x5b60dc
mov edx, dword [0xaf9600]
mov dword [eax + 8], edx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x82
push fcn.0040e9a0
push 0x40f150
push 0x10
push 0xc
lea eax, [esi + 0x96f6c]
push eax
call fcn.005904c4
mov byte [esp + 0x40], 0x83
lea ecx, [esi + 0x97034]
call fcn.00417df0
mov byte [esp + 0x40], 0x84
lea ecx, [esi + 0x97044]
call fcn.00417df0
mov byte [esp + 0x40], 0x85
lea ecx, [esi + 0x97054]
call fcn.00417df0
mov byte [esp + 0x40], 0x86
lea eax, [esi + 0x97064]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x87
mov dword [eax], 0x5b60dc
mov ecx, dword [0xaf9600]
mov dword [eax + 8], ecx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x88
lea ecx, [esi + 0x97070]
call fcn.00417df0
mov byte [esp + 0x40], 0x89
lea eax, [esi + 0x97080]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x8a
mov dword [eax], 0x5b60dc
mov edx, dword [0xaf9600]
mov dword [eax + 8], edx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x8b
lea eax, [esi + 0x9708c]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x8c
mov dword [eax], 0x5b60dc
mov ecx, dword [0xaf9600]
mov dword [eax + 8], ecx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x8d
lea eax, [esi + 0x970a0]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x8e
mov dword [eax], 0x5b60dc
mov edx, dword [0xaf9600]
mov dword [eax + 8], edx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x8f
lea eax, [esi + 0x970ac]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x90
mov dword [eax], 0x5b60dc
mov ecx, dword [0xaf9600]
mov dword [eax + 8], ecx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x91
lea eax, [esi + 0x970b8]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x92
mov dword [eax], 0x5b60dc
mov edx, dword [0xaf9600]
mov dword [eax + 8], edx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x93
push fcn.0040e9a0
push 0x40f150
push 0x32
push 0xc
lea eax, [esi + 0x970c4]
push eax
call fcn.005904c4
mov byte [esp + 0x40], 0x94
lea eax, [esi + 0x9735c]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x95
mov dword [eax], 0x5b60dc
mov ecx, dword [0xaf9600]
mov dword [eax + 8], ecx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x96
lea eax, [esi + 0x97368]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x97
mov dword [eax], 0x5b60dc
mov edx, dword [0xaf9600]
mov dword [eax + 8], edx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x98
lea eax, [esi + 0x97374]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x99
mov dword [eax], 0x5b60dc
mov ecx, dword [0xaf9600]
mov dword [eax + 8], ecx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x9a
lea eax, [esi + 0x97380]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x9b
mov dword [eax], 0x5b60dc
mov edx, dword [0xaf9600]
mov dword [eax + 8], edx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x9c
lea eax, [esi + 0x9738c]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x9d
mov dword [eax], 0x5b60dc
mov ecx, dword [0xaf9600]
mov dword [eax + 8], ecx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0x9e
lea eax, [esi + 0x97398]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0x9f
mov dword [eax], 0x5b60dc
mov edx, dword [0xaf9600]
mov dword [eax + 8], edx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0xa0
lea eax, [esi + 0x973a4]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0xa1
mov dword [eax], 0x5b60dc
mov ecx, dword [0xaf9600]
mov dword [eax + 8], ecx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0xa2
lea eax, [esi + 0x973b0]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0xa3
mov dword [eax], 0x5b60dc
mov edx, dword [0xaf9600]
mov dword [eax + 8], edx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0xa4
lea eax, [esi + 0x973bc]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0xa5
mov dword [eax], 0x5b60dc
mov ecx, dword [0xaf9600]
mov dword [eax + 8], ecx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0xa6
lea eax, [esi + 0x973c8]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0xa7
mov dword [eax], 0x5b60dc
mov edx, dword [0xaf9600]
mov dword [eax + 8], edx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0xa8
lea eax, [esi + 0x973d4]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0xa9
mov dword [eax], 0x5b60dc
mov ecx, dword [0xaf9600]
mov dword [eax + 8], ecx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0xaa
lea eax, [esi + 0x973e0]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0xab
mov dword [eax], 0x5b60dc
mov edx, dword [0xaf9600]
mov dword [eax + 8], edx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0xac
lea eax, [esi + 0x973f0]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0xad
mov dword [eax], 0x5b60dc
mov ecx, dword [0xaf9600]
mov dword [eax + 8], ecx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0xae
lea eax, [esi + 0x973fc]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0xaf
mov dword [eax], 0x5b60dc
mov edx, dword [0xaf9600]
mov dword [eax + 8], edx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0xb0
lea eax, [esi + 0x97408]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0xb1
mov dword [eax], 0x5b60dc
mov ecx, dword [0xaf9600]
mov dword [eax + 8], ecx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0xb2
lea ecx, [esi + 0x97414]
call fcn.00417df0
mov byte [esp + 0x40], 0xb3
lea ecx, [esi + 0xae034]
call fcn.00417df0
mov byte [esp + 0x40], 0xb4
push 0x416660
push 0x418ee0
push 0x40
push 0xf90
lea edx, [esi + 0xae044]
push edx
call fcn.005904c4
mov byte [esp + 0x40], 0xb5
lea ecx, [esi + 0xec444]
mov dword [esp + 0x2c], ecx
call fcn.004173d0
mov byte [esp + 0x40], 0xb6
mov eax, dword [esp + 0x2c]
mov dword [eax], 0x5b7a0c
mov byte [esp + 0x40], 0xb7
lea eax, [esi + 0xec454]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0xb8
mov dword [eax], 0x5b60dc
mov ecx, dword [0xaf9600]
mov dword [eax + 8], ecx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0xb9
lea eax, [esi + 0xec460]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0xba
mov dword [eax], 0x5b60dc
mov edx, dword [0xaf9600]
mov dword [eax + 8], edx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0xbb
lea ecx, [esi + 0xec46c]
call fcn.00417df0
mov byte [esp + 0x40], 0xbc
lea ecx, [esi + 0xec47c]
call fcn.00417df0
mov byte [esp + 0x40], 0xbd
lea ecx, [esi + 0xec48c]
call fcn.00417df0
mov byte [esp + 0x40], 0xbe
lea eax, [esi + 0xec49c]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0xbf
mov dword [eax], 0x5b60dc
mov ecx, dword [0xaf9600]
mov dword [eax + 8], ecx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0xc0
lea eax, [esi + 0xec4a8]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0xc1
mov dword [eax], 0x5b60dc
mov edx, dword [0xaf9600]
mov dword [eax + 8], edx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0xc2
lea ecx, [esi + 0xec4b4]
call fcn.00417df0
mov byte [esp + 0x40], 0xc3
lea eax, [esi + 0xec4c4]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0xc4
mov dword [eax], 0x5b60dc
mov ecx, dword [0xaf9600]
mov dword [eax + 8], ecx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0xc5
lea eax, [esi + 0xec4d0]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0xc6
mov dword [eax], 0x5b60dc
mov edx, dword [0xaf9600]
mov dword [eax + 8], edx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0xc7
lea ecx, [esi + 0xec4dc]
call fcn.00417df0
mov byte [esp + 0x40], 0xc8
lea ecx, [esi + 0xec4ec]
call fcn.00417df0
mov byte [esp + 0x40], 0xc9
lea eax, [esi + 0xec4fc]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0xca
mov dword [eax], 0x5b60dc
mov ecx, dword [0xaf9600]
mov dword [eax + 8], ecx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0xcb
lea eax, [esi + 0xec548]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0xcc
mov dword [eax], 0x5b60dc
mov edx, dword [0xaf9600]
mov dword [eax + 8], edx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0xcd
lea ecx, [esi + 0xeda78]
call fcn.0041df40
mov byte [esp + 0x40], 0xce
lea ecx, [esi + 0xeda84]
call fcn.00417df0
mov byte [esp + 0x40], 0xcf
lea ecx, [esi + 0xeda94]
call fcn.00417df0
mov byte [esp + 0x40], 0xd0
lea ecx, [esi + 0xedaa4]
call fcn.004191f0
mov byte [esp + 0x40], 0xd1
lea ecx, [esi + 0xedb54]
call fcn.0041bb00
mov byte [esp + 0x40], 0xd2
lea ecx, [esi + 0xede94]
call fcn.00417df0
mov byte [esp + 0x40], 0xd3
lea ecx, [esi + 0xedea4]
call fcn.00417df0
mov byte [esp + 0x40], 0xd4
lea ecx, [esi + 0xedeb4]
call fcn.00417df0
mov byte [esp + 0x40], 0xd5
lea ecx, [esi + 0xedec4]
call fcn.00417df0
mov byte [esp + 0x40], 0xd6
lea ecx, [esi + 0xeded4]
call fcn.004192e0
mov byte [esp + 0x40], 0xd7
lea ecx, [esi + 0xedf58]
call fcn.00507d60
mov byte [esp + 0x40], 0xd8
lea ecx, [esi + 0xee014]
mov dword [esp + 0x2c], ecx
call fcn.00417df0
mov byte [esp + 0x40], 0xd9
mov ecx, dword [esp + 0x2c]
add ecx, 0x10
call fcn.00417df0
mov byte [esp + 0x40], 0xdb
lea eax, [esi + 0xee034]
mov dword [esp + 0x30], eax
mov dword [eax], 0x5b5f30
mov dword [eax + 4], ebx
mov byte [esp + 0x40], 0xdc
mov dword [eax], 0x5b60dc
mov ecx, dword [0xaf9600]
mov dword [eax + 8], ecx
inc dword [0xaf9600]
mov byte [esp + 0x40], 0xdd
mov dl, byte [edi + 0xc]
xor dl, 1
mov byte [edi + 4], dl
mov al, byte [edi + 0xd]
xor al, 1
mov byte [edi + 8], al
mov cl, byte [edi + 0xc]
mov byte [edi + 5], cl
mov dl, byte [edi + 0xd]
mov byte [edi + 9], dl
mov al, byte [edi + 0xc]
mov byte [edi + 6], al
mov cl, byte [edi + 0xd]
mov byte [edi + 0xa], cl
mov dl, byte [edi + 0xc]
mov byte [edi + 7], dl
mov al, byte [edi + 0xd]
mov byte [edi + 0xb], al
mov dword [esi + 4], ebx
mov dword [esi + 0x236a8], ebx
mov dword [esi + 0x1e690], ebx
mov dword [esi + 0xd8], ebx
lea eax, [esi + 0x1d64d]
mov ecx, 0x64
mov byte [eax + 1], bl
mov byte [eax], bl
add eax, 0x2a
dec ecx
jne 0x41f547
lea eax, [esi + 0x1e6bc]
mov ecx, 0x1f4
lea ecx, [ecx]
mov byte [eax], bl
add eax, 0x29
dec ecx
jne 0x41f560
mov cl, byte [edi + 0xc]
xor cl, 1
mov byte [edi + 4], cl
mov dl, byte [edi + 0xd]
xor dl, 1
mov byte [edi + 8], dl
mov al, byte [edi + 0xc]
mov byte [edi + 5], al
mov cl, byte [edi + 0xd]
mov byte [edi + 9], cl
mov dl, byte [edi + 0xc]
mov byte [edi + 6], dl
mov al, byte [edi + 0xd]
mov byte [edi + 0xa], al
mov cl, byte [edi + 0xc]
mov byte [edi + 7], cl
mov dl, byte [edi + 0xd]
mov byte [edi + 0xb], dl
push 0x5b5931
lea ecx, [esi + 0x6d6bc]
mov byte [esi + 0x29fe0], bl
mov dword [esi + 0x6ca2c], ebx
mov byte [esi + 0xe8], bl
call fcn.00403bb0
push 0x5b5931
lea ecx, [esi + 0x6d8bc]
call fcn.00403bb0
push 0x5b5931
lea ecx, [esi + 0x6dabc]
call fcn.00403bb0
mov dword [esi + 0x6dccc], ebx
mov dword [esi + 0x6dcd8], ebx
mov dword [esi + 0x6dd04], ebx
mov al, byte [ebp + 0xc]
mov byte [ebp + 4], al
mov cl, byte [ebp + 0xd]
mov byte [ebp + 8], cl
mov dl, byte [ebp + 0xc]
mov byte [ebp + 5], dl
mov al, byte [ebp + 0xd]
mov byte [ebp + 9], al
mov cl, byte [ebp + 0xc]
mov byte [ebp + 6], cl
mov dl, byte [ebp + 0xd]
mov byte [ebp + 0xa], dl
mov al, byte [ebp + 0xc]
mov byte [ebp + 7], al
mov cl, byte [ebp + 0xd]
mov byte [ebp + 0xb], cl
mov dl, byte [esi + 0x6dd58]
mov byte [esi + 0x6dd50], dl
mov al, byte [esi + 0x6dd59]
mov byte [esi + 0x6dd54], al
mov cl, byte [esi + 0x6dd58]
mov byte [esi + 0x6dd51], cl
mov dl, byte [esi + 0x6dd59]
mov byte [esi + 0x6dd55], dl
mov al, byte [esi + 0x6dd58]
mov byte [esi + 0x6dd52], al
mov cl, byte [esi + 0x6dd59]
mov byte [esi + 0x6dd56], cl
mov dl, byte [esi + 0x6dd58]
mov byte [esi + 0x6dd53], dl
mov al, byte [esi + 0x6dd59]
mov byte [esi + 0x6dd57], al
mov cl, byte [esi + 0x6dd68]
mov byte [esi + 0x6dd60], cl
mov dl, byte [esi + 0x6dd69]
mov byte [esi + 0x6dd64], dl
mov al, byte [esi + 0x6dd68]
mov byte [esi + 0x6dd61], al
mov cl, byte [esi + 0x6dd69]
mov byte [esi + 0x6dd65], cl
mov dl, byte [esi + 0x6dd68]
mov byte [esi + 0x6dd62], dl
mov al, byte [esi + 0x6dd69]
mov byte [esi + 0x6dd66], al
mov cl, byte [esi + 0x6dd68]
mov byte [esi + 0x6dd63], cl
mov dl, byte [esi + 0x6dd69]
mov byte [esi + 0x6dd67], dl
mov al, byte [esi + 0x6dd78]
mov byte [esi + 0x6dd70], al
mov cl, byte [esi + 0x6dd79]
mov byte [esi + 0x6dd74], cl
mov dl, byte [esi + 0x6dd78]
mov byte [esi + 0x6dd71], dl
mov al, byte [esi + 0x6dd79]
mov byte [esi + 0x6dd75], al
mov cl, byte [esi + 0x6dd78]
mov byte [esi + 0x6dd72], cl
mov dl, byte [esi + 0x6dd79]
mov byte [esi + 0x6dd76], dl
mov al, byte [esi + 0x6dd78]
mov byte [esi + 0x6dd73], al
mov cl, byte [esi + 0x6dd79]
mov byte [esi + 0x6dd77], cl
mov dword [esi + 0x6dd80], ebx
mov dword [esi + 0x6dd8c], ebx
mov dl, byte [esi + 0x6dda0]
mov byte [esi + 0x6dd98], dl
mov al, byte [esi + 0x6dda1]
mov byte [esi + 0x6dd9c], al
mov cl, byte [esi + 0x6dda0]
mov byte [esi + 0x6dd99], cl
mov dl, byte [esi + 0x6dda1]
mov byte [esi + 0x6dd9d], dl
mov al, byte [esi + 0x6dda0]
mov byte [esi + 0x6dd9a], al
mov cl, byte [esi + 0x6dda1]
mov byte [esi + 0x6dd9e], cl
mov dl, byte [esi + 0x6dda0]
mov byte [esi + 0x6dd9b], dl
mov al, byte [esi + 0x6dda1]
mov byte [esi + 0x6dd9f], al
mov cl, byte [esi + 0x6ddb0]
mov byte [esi + 0x6dda8], cl
mov dl, byte [esi + 0x6ddb1]
mov byte [esi + 0x6ddac], dl
mov al, byte [esi + 0x6ddb0]
mov byte [esi + 0x6dda9], al
mov cl, byte [esi + 0x6ddb1]
mov byte [esi + 0x6ddad], cl
mov dl, byte [esi + 0x6ddb0]
mov byte [esi + 0x6ddaa], dl
mov al, byte [esi + 0x6ddb1]
mov byte [esi + 0x6ddae], al
mov cl, byte [esi + 0x6ddb0]
mov byte [esi + 0x6ddab], cl
mov dl, byte [esi + 0x6ddb1]
mov byte [esi + 0x6ddaf], dl
mov dword [esi + 0x6ddfc], ebx
mov dword [esi + 0x6de08], ebx
mov dword [esi + 0xec4c8], 0xffffffff
mov dword [esi + 0xec4d4], ebx
mov dword [esi + 0x6ddc4], 1
mov dword [esi + 0x6de14], ebx
mov dword [esi + 0xee038], ebx
lea eax, [esi + 0x6cc60]
mov dword [esi + 0xec500], ebx
mov dword [esi + 0x6cc58], ebx
mov edi, eax
lea ebp, [esi + 0x6d664]
mov dword [esp + 0x20], 5
push 0x5b5931
mov ecx, edi
call fcn.00403bb0
mov eax, dword [esp + 0x20]
mov dword [ebp], 0x13
add edi, 0x200
add ebp, 0xc
dec eax
mov dword [esp + 0x20], eax
jne 0x41f862
lea eax, [esi + 0xa28c]
mov ecx, 0x20
jmp 0x41f8a0
mov byte [eax - 0xa178], bl
mov dword [eax - 0xa080], 1
mov byte [eax - 0xf8], bl
mov dword [eax], 1
add eax, 0x504
dec ecx
jne 0x41f8a0
mov dword [esi + 0x100], ebx
mov dword [esi + 0x10c], ebx
mov word [esi + 0x2cec0], bx
mov word [esi + 0x2cec2], bx
mov word [esi + 0x2cec4], bx
mov word [esi + 0x2cec6], bx
mov word [esi + 0x436fe], bx
mov word [esi + 0x2cec8], bx
mov dword [esi + 0x436dc], ebx
mov dword [esi + 0x436ec], ebx
mov dword [esi + 0x973f4], ebx
mov dword [esi + 0x2ceac], ebx
mov byte [0x679bf8], bl
mov dword [esi + 0x6cc40], ebx
mov dword [esi + 0x6cc4c], ebx
mov ecx, esi
mov byte [esi + 0x95ec0], bl
call fcn.0041a460
mov al, byte [esi + 0x97060]
not al
mov byte [esi + 0x97058], al
mov cl, byte [esi + 0x97061]
not cl
mov byte [esi + 0x9705c], cl
mov dl, byte [esi + 0x97060]
not dl
mov byte [esi + 0x97059], dl
mov al, byte [esi + 0x97061]
not al
mov byte [esi + 0x9705d], al
mov cl, byte [esi + 0x97060]
not cl
mov byte [esi + 0x9705a], cl
mov dl, byte [esi + 0x97061]
not dl
mov byte [esi + 0x9705e], dl
mov al, byte [esi + 0x97060]
not al
mov byte [esi + 0x9705b], al
mov cl, byte [esi + 0x97061]
not cl
mov byte [esi + 0x9705f], cl
mov dword [esi + 0x148e4], 0xffffffff
mov dword [esi + 0x97068], ebx
mov dl, byte [esi + 0xec488]
mov byte [esi + 0xec480], dl
mov al, byte [esi + 0xec489]
mov byte [esi + 0xec484], al
mov cl, byte [esi + 0xec488]
mov byte [esi + 0xec481], cl
mov dl, byte [esi + 0xec489]
mov byte [esi + 0xec485], dl
mov al, byte [esi + 0xec488]
mov byte [esi + 0xec482], al
mov cl, byte [esi + 0xec489]
mov byte [esi + 0xec486], cl
mov dl, byte [esi + 0xec488]
mov byte [esi + 0xec483], dl
mov al, byte [esi + 0xec489]
mov byte [esi + 0xec487], al
mov cl, byte [esi + 0xec498]
mov byte [esi + 0xec490], cl
mov dl, byte [esi + 0xec499]
mov byte [esi + 0xec494], dl
mov al, byte [esi + 0xec498]
mov byte [esi + 0xec491], al
mov cl, byte [esi + 0xec499]
mov byte [esi + 0xec495], cl
mov dl, byte [esi + 0xec498]
mov byte [esi + 0xec492], dl
mov al, byte [esi + 0xec499]
mov byte [esi + 0xec496], al
mov cl, byte [esi + 0xec498]
mov byte [esi + 0xec493], cl
mov dl, byte [esi + 0xec499]
mov byte [esi + 0xec497], dl
mov dword [esi + 0xec4ac], ebx
mov al, byte [esi + 0xec4c0]
xor al, 0x30
mov byte [esi + 0xec4b8], al
mov cl, byte [esi + 0xec4c1]
xor cl, 0x30
mov byte [esi + 0xec4bc], cl
mov dl, byte [esi + 0xec4c0]
xor dl, 0x75
mov byte [esi + 0xec4b9], dl
mov al, byte [esi + 0xec4c1]
xor al, 0x75
mov byte [esi + 0xec4bd], al
mov cl, byte [esi + 0xec4c0]
mov byte [esi + 0xec4ba], cl
mov dl, byte [esi + 0xec4c1]
mov byte [esi + 0xec4be], dl
mov al, byte [esi + 0xec4c0]
mov byte [esi + 0xec4bb], al
mov cl, byte [esi + 0xec4c1]
mov byte [esi + 0xec4bf], cl
lea eax, [esi + 0x95f60]
mov dword [esi + 0x96f64], ebx
mov edx, eax
lea ecx, [esi + 0x96f70]
mov edi, 0x10
lea ebx, [ebx]
mov byte [edx], bl
mov dword [ecx], ebx
add ecx, 0xc
add edx, 0x100
dec edi
jne 0x41fb00
push 0x5b7ab4
push eax
mov dword [esi + 0x96f64], 1
call fcn.0059000d
lea edx, [esi + 0x96060]
push 0x5b7ab4
push edx
call fcn.0059000d
mov al, byte [0x60d188]
add esp, 0x10
cmp al, bl
je 0x41fc09
push 0x5b79ec
push str.GameText.txt
call fcn.00436fc0
add esp, 8
cmp eax, ebx
mov dword [esp + 0x18], eax
je 0x41fc09
push eax
call fcn.005a5e60
push eax
call fcn.005a5d20
push eax
mov dword [esp + 0x28], eax
call fcn.00591195
mov edi, eax
mov eax, dword [esp + 0x28]
push eax
call fcn.00591195
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x2c]
push ecx
push 1
push edx
push edi
mov ebp, eax
call fcn.00591290
mov eax, dword [esp + 0x38]
push eax
call fcn.00590860
mov ecx, dword [esp + 0x40]
add esp, 0x24
push ecx
push edi
push ebp
mov ecx, 0x817258
call fcn.0042f590
push 0x5b5ea0
push str.gsysdata.dat
mov dword [esp + 0x34], eax
call fcn.00436fc0
push eax
push 4
lea edx, [esp + 0x2c]
push 1
push edx
mov dword [esp + 0x30], eax
call fcn.005909b8
mov eax, dword [esp + 0x30]
mov ecx, dword [esp + 0x44]
push eax
push ecx
push 1
push ebp
call fcn.005909b8
mov edx, dword [esp + 0x40]
push edx
call fcn.00590860
push edi
call fcn.0059107d
push ebp
call fcn.0059107d
add esp, 0x34
mov eax, dword [esi + 0xeda7c]
mov ebp, dword [eax + 4]
cmp byte [ebp + 0x15], bl
lea edi, [esi + 0xeda78]
mov dword [esp + 0x20], ebp
jne 0x41fc47
mov ecx, dword [ebp + 8]
push ecx
mov ecx, edi
call fcn.004171a0
mov edx, dword [esp + 0x20]
mov ebp, dword [ebp]
push edx
call fcn.0058fcbe
mov al, byte [ebp + 0x15]
add esp, 4
cmp al, bl
mov dword [esp + 0x20], ebp
je 0x41fc21
mov eax, dword [edi + 4]
mov dword [eax + 4], eax
mov eax, dword [edi + 4]
mov dword [edi + 8], ebx
mov dword [eax], eax
mov edi, dword [edi + 4]
mov dword [edi + 8], edi
push 0x5b79ec
push str.gsysdata.dat
mov byte [esp + 0x1c], 0xd
mov byte [esp + 0x1d], 0xa
mov byte [esp + 0x1e], bl
mov byte [esp + 0x18], 0x3d
mov byte [esp + 0x19], bl
call fcn.00436fc0
mov ebp, eax
add esp, 8
cmp ebp, ebx
mov dword [esp + 0x30], ebp
je 0x41fe13
push ebp
push 4
lea eax, [esp + 0x24]
push 1
push eax
call fcn.00591290
mov ecx, dword [esp + 0x2c]
push ecx
call fcn.00591195
push ebp
mov dword [esp + 0x38], eax
call fcn.005a5e60
push eax
call fcn.005a5d20
mov edi, eax
push edi
call fcn.00591195
push ebp
push 1
push edi
push eax
mov dword [esp + 0x5c], eax
call fcn.00591290
mov edx, dword [esp + 0x4c]
mov eax, dword [esp + 0x5c]
add esp, 0x30
push edx
push edi
mov edi, dword [esp + 0x28]
push eax
push edi
mov ecx, 0x817258
call fcn.0042f5f0
cmp dword [esp + 0x1c], ebx
jbe 0x41fdf6
lea ecx, [esp + 0x14]
push ecx
push edi
call fcn.005912e0
lea edx, [esp + 0x18]
push edx
push edi
mov dword [esp + 0x28], eax
call fcn.005912e0
mov ebp, eax
add esp, 0x10
cmp ebp, ebx
je 0x41fdf2
mov eax, dword [esp + 0x18]
cmp eax, ebp
jae 0x41fd2f
lea edi, [eax + 2]
jmp 0x41fdde
push edi
mov byte [ebp], bl
call fcn.00590be1
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0x1c]
add esp, 4
inc ebp
mov byte [eax], bl
mov eax, ebp
lea edi, [eax + 1]
jmp 0x41fd50
mov cl, byte [eax]
inc eax
cmp cl, bl
jne 0x41fd50
sub eax, edi
lea edi, [eax + 1]
push edi
call fcn.00591195
mov edx, eax
mov ecx, edi
mov dword [esp + 0x2c], edx
mov edi, edx
mov edx, ecx
shr ecx, 2
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, edx
and ecx, 3
rep stosb byte es:[edi], al
mov edi, dword [esp + 0x2c]
add esp, 4
mov eax, ebp
sub edi, ebp
mov cl, byte [eax]
mov byte [eax + edi], cl
inc eax
cmp cl, bl
jne 0x41fd87
lea eax, [esp + 0x24]
lea edi, [esi + 0xeda78]
push eax
mov ecx, edi
call fcn.0041c990
cmp dword [eax], ebx
je 0x41fdc5
mov ecx, dword [0x60d19c]
push ebx
push str.gsysdata.dat
push 0x21e
call fcn.004fef50
push eax
push ebx
call dword [sym.imp.USER32.dll_MessageBoxA]
lea ecx, [esp + 0x24]
push ecx
mov ecx, edi
call fcn.0041c990
mov edx, dword [esp + 0x28]
mov edi, dword [esp + 0x18]
mov dword [eax], edx
add edi, 2
mov edx, dword [esp + 0x20]
mov ecx, dword [esp + 0x1c]
mov eax, edi
sub eax, edx
cmp eax, ecx
jb 0x41fcf8
mov ebp, dword [esp + 0x30]
push ebp
call fcn.00590860
mov ecx, dword [esp + 0x24]
push ecx
call fcn.0059107d
mov edx, dword [esp + 0x34]
push edx
call fcn.0059107d
add esp, 0xc
mov dword [esi + 0xae028], ebx
mov dword [esi + 0xae02c], ebx
mov dword [esi + 0x2a62c], ebx
mov dword [esi + 0x95e9c], ebx
mov byte [esi + 0x95ea0], bl
mov byte [esi + 0xec509], bl
mov dword [esi + 0x97030], ebx
mov byte [esi + 0xed70c], bl
mov dword [esi + 0x95f58], ebx
mov byte [esi + 0xae030], bl
mov dword [esi + 0xed738], ebx
mov dword [esi + 0xed73c], ebx
lea eax, [esi + 0x1425c]
lea ecx, [esi + 0x14460]
mov edx, 0x10
lea esp, [esp]
mov byte [eax], bl
mov dword [ecx], ebx
add eax, 0x20
add ecx, 0xc
dec edx
jne 0x41fe70
mov dword [esi + 0x14520], ebx
mov dword [esi + 0x1452c], ebx
mov dword [esi + 0x14538], ebx
mov dword [esi + 0x14544], ebx
mov dword [esi + 0x14550], ebx
mov dword [esi + 0x1455c], ebx
mov dword [esi + 0x14568], ebx
mov dword [esi + 0x14574], 0x186a0
mov dword [esi + 0x1458c], ebx
mov byte [esi + 0x14594], bl
mov byte [esi + 0x145d4], bl
mov byte [esi + 0x14654], bl
lea eax, [esi + 0x147d8]
mov ecx, 0x10
mov byte [eax - 0x104], bl
mov byte [eax], bl
add eax, 0x10
dec ecx
jne 0x41fed4
mov edi, dword [sym.imp.KERNEL32.dll_GetTickCount]
mov dword [esi + 0x147d4], ebx
mov dword [esi + 0x148d8], ebx
mov dword [esi + 0x95f40], ebx
mov byte [esi + 0xeda74], bl
call edi
sub eax, 0xea60
mov dword [0x60d0d4], eax
call edi
mov dword [0x60d0d8], eax
mov byte [0x60d0d1], 1
mov dword [esi + 0x14228], ebx
mov dword [esi + 0x14234], ebx
mov byte [esi + 0x1423c], bl
mov byte [esi + 0x14249], bl
mov byte [esi + 0x14256], bl
mov dword [esi + 0xf4], ebx
mov dword [esi + 0xf8], ebx
mov byte [esi + 0x14904], bl
mov dword [esi + 0x14908], 0x28
lea eax, [esi + 0x95dec]
mov ecx, 4
nop
mov dword [eax - 0xc], ebx
mov dword [eax], ebx
mov dword [eax + 0xc], ebx
mov dword [eax + 0x18], ebx
add eax, 0x30
dec ecx
jne 0x41ff60
mov dword [esp + 0x40], 0xffffffff
mov ecx, dword [esp + 0x38]
pop edi
mov eax, esi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0x34
ret