Function at 0x401000
Capabilities:
Encode data using xor

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x134
mov dword [ebp - 0x10], 0xb11e6
mov dword [ebp - 8], 0xcd2d6
mov dword [ebp - 0x30], 0x86b97
mov dword [ebp - 0x18], 0x58aad
mov dword [ebp - 0x54], 0x78fb2
mov dword [ebp - 0x34], 0x7b7b2
mov dword [ebp - 0x1c], 0x3a17
mov dword [ebp - 0x28], 0x79bcd
mov dword [ebp - 0x4c], 0x56254
mov dword [ebp - 0x40], 0x5f004
mov dword [ebp - 0x3c], 0xa436c
mov dword [ebp - 0x2c], 0x5d790
mov dword [ebp - 0x50], 0xcd9e9
mov dword [ebp - 0x24], 0xc901c
mov dword [ebp - 0xc], 0x2d629
mov dword [ebp - 0x44], 0x2042a
mov dword [ebp - 0x20], 0xa7ccc
mov dword [ebp - 0x58], 0x6348a
mov dword [ebp - 0x38], 0x30db7
mov dword [ebp - 4], 0x40ff
mov dword [ebp - 0x14], 0x3978b
mov dword [ebp - 0x48], 0x4b4d5
mov dword [ebp - 0x5c], 0x673cc
mov eax, dword [ebp - 0xc]
add eax, 0x26fc7
push eax
mov ecx, dword [ebp - 0x28]
add ecx, 0x54874
push ecx
mov edx, dword [ebp - 0x4c]
sub edx, 0x9482
push edx
mov eax, dword [ebp - 0x50]
sub eax, 0x4d666
push eax
call fcn.00433be0
add esp, 0x10
mov ecx, dword [ebp - 0x28]
or ecx, 0xb1df9
mov dword [ebp - 0x28], ecx
mov edx, dword [ebp - 0x4c]
xor edx, dword [ebp - 0x24]
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x58]
add eax, 0xa531
mov dword [ebp - 0x58], eax
mov ecx, dword [ebp - 0x10]
add ecx, dword [ebp - 0x28]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x18]
xor edx, 0x867c0
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 8]
xor eax, 0x5bc41
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x58]
or ecx, 0x706e8
mov dword [ebp - 0x58], ecx
mov edx, dword [ebp - 0x14]
sub edx, 0x5d57a
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0x18]
sub eax, 0xc2f17
mov dword [ebp - 0x18], eax
mov ecx, dword [ebp - 0x40]
sub ecx, dword [ebp - 0x54]
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x10]
sub edx, 0x57629
mov dword [ebp - 0x10], edx
mov eax, dword [ebp - 0x1c]
or eax, dword [ebp - 0x10]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 4]
sub ecx, 1
mov dword [ebp - 4], ecx
mov edx, dword [ebp - 0x58]
add edx, 1
mov dword [ebp - 0x58], edx
mov eax, dword [ebp - 0x14]
sub eax, 0x2fea0
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0x34]
xor ecx, 0x9899d
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x18]
xor edx, dword [ebp - 0x30]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x10]
and eax, dword [ebp - 4]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x2c]
sub ecx, 0x1c9dd
mov dword [ebp - 0x2c], ecx
cmp dword [ebp - 0x28], 0x7b301
jge 0x401423
mov edx, dword [ebp - 0x44]
and edx, 0xec649
mov dword [ebp - 0x44], edx
mov eax, dword [ebp - 0x40]
or eax, dword [ebp - 0x58]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 0x24]
sub ecx, 0x48b83
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x30]
and edx, 0x663c6
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x54]
and eax, 0x695b1
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x50]
and ecx, 0x25368
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x2c]
add edx, 0xec434
mov dword [ebp - 0x2c], edx
cmp dword [ebp - 0x28], 0x54ce2
jle 0x401423
mov eax, dword [ebp - 0x54]
or eax, 0xc4668
mov dword [ebp - 0x54], eax
mov ecx, dword [ebp - 0x10]
xor ecx, dword [ebp - 0x28]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x4c]
xor edx, dword [ebp - 0x28]
mov dword [ebp - 0x4c], edx
mov eax, dword [ebp - 0x20]
or eax, dword [ebp - 0x28]
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x38]
xor ecx, dword [ebp - 0x5c]
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 0xc]
or edx, dword [ebp - 0xc]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x4c]
sub eax, 0x27588
mov dword [ebp - 0x4c], eax
cmp dword [ebp - 0xc], 0x57d61
jge 0x401423
mov ecx, dword [ebp - 0x24]
xor ecx, 0xd58b2
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x28]
xor edx, 0x14f2a
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x5c]
add eax, 0xbfc7f
mov dword [ebp - 0x5c], eax
mov ecx, dword [ebp - 0x48]
xor ecx, dword [ebp - 0x2c]
mov dword [ebp - 0x48], ecx
mov edx, dword [ebp - 0x48]
add edx, dword [ebp - 0x14]
mov dword [ebp - 0x48], edx
mov eax, dword [ebp - 0x2c]
and eax, dword [ebp - 0x4c]
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 0x40], 0xe5fd3
je 0x401423
mov ecx, dword [ebp - 0x14]
sub ecx, 0x63a24
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x10]
or edx, dword [ebp - 4]
mov dword [ebp - 0x10], edx
cmp dword [ebp - 0x14], 0x3574
jne 0x401423
mov eax, dword [ebp - 0xc]
xor eax, dword [ebp - 0x34]
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0x40]
or ecx, 0xebe7c
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 0x3c]
or edx, dword [ebp - 0x24]
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0x34]
xor eax, 0xa9648
mov dword [ebp - 0x34], eax
mov ecx, dword [ebp - 0x14]
or ecx, dword [ebp - 0x58]
mov dword [ebp - 0x14], ecx
mov edx, dword [ebp - 0x14]
sub edx, 0x2234f
mov dword [ebp - 0x14], edx
cmp dword [ebp - 0x34], 0x63c36
jge 0x401423
mov eax, dword [ebp - 4]
or eax, dword [ebp - 0x20]
mov dword [ebp - 4], eax
mov ecx, dword [ebp - 0x10]
sub ecx, dword [ebp - 0x14]
mov dword [ebp - 0x10], ecx
mov edx, dword [ebp - 0x54]
or edx, dword [ebp - 0x14]
mov dword [ebp - 0x54], edx
mov eax, dword [ebp - 0x1c]
xor eax, dword [ebp - 8]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 8]
xor ecx, dword [ebp - 0x3c]
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x20], 0x5dae9
jne 0x401423
mov edx, dword [ebp - 0x24]
add edx, 0x46522
mov dword [ebp - 0x24], edx
mov eax, dword [ebp - 0x10]
and eax, dword [ebp - 0x58]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 8]
and ecx, 0xbc653
mov dword [ebp - 8], ecx
cmp dword [ebp - 0x3c], 0x60c4a
jge 0x401423
mov edx, dword [ebp - 8]
and edx, dword [ebp - 0x50]
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x40]
xor eax, dword [ebp - 0x2c]
mov dword [ebp - 0x40], eax
cmp dword [ebp - 0x44], 0xc69a9
jge 0x401423
mov ecx, dword [ebp - 0x3c]
add ecx, dword [ebp - 0x54]
mov dword [ebp - 0x3c], ecx
mov edx, dword [ebp - 4]
or edx, 0x151f9
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x48]
or eax, 0x90cb5
mov dword [ebp - 0x48], eax
cmp dword [ebp - 0x34], 0x4b1c6
jle 0x401423
mov ecx, dword [ebp - 0x24]
or ecx, 0xd2559
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x2c]
or edx, dword [ebp - 0xc]
mov dword [ebp - 0x2c], edx
mov eax, dword [ebp - 0x28]
or eax, 0x658e0
mov dword [ebp - 0x28], eax
cmp dword [ebp - 0x1c], 0x4c8a8
jle 0x401423
mov ecx, dword [ebp - 0x1c]
xor ecx, 0xc1b62
mov dword [ebp - 0x1c], ecx
mov edx, dword [ebp - 8]
add edx, 0x91fc4
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x20]
or eax, 0x9aece
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x2c]
add ecx, dword [ebp - 0x38]
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 0x28]
add edx, 0x91ab4
mov dword [ebp - 0x28], edx
cmp dword [ebp - 0x58], 0x7dffc
jl 0x401130
mov eax, dword [ebp - 0x1c]
or eax, 0x5c50d
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x34]
or ecx, dword [ebp - 0x54]
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0x34]
xor edx, dword [ebp - 0x24]
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x28]
sub eax, 0xd126d
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x2c]
xor ecx, dword [ebp - 0x18]
mov dword [ebp - 0x2c], ecx
mov edx, dword [ebp - 8]
add edx, 1
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x24]
sub eax, dword [ebp - 4]
mov dword [ebp - 0x24], eax
mov ecx, dword [ebp - 0x44]
add ecx, dword [ebp - 0x30]
mov dword [ebp - 0x44], ecx
mov edx, dword [ebp - 0x34]
sub edx, dword [ebp - 0xc]
mov dword [ebp - 0x34], edx
mov eax, dword [ebp - 0x20]
sub eax, 0x19425
mov dword [ebp - 0x20], eax
mov ecx, dword [ebp - 0x34]
or ecx, dword [ebp - 0x34]
mov dword [ebp - 0x34], ecx
mov edx, dword [ebp - 0xc]
xor edx, dword [ebp - 0x38]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x2c]
add eax, 0x50365
mov dword [ebp - 0x2c], eax
cmp dword [ebp - 8], 0x96e98
jl 0x401430
mov ecx, dword [ebp - 0xc]
add ecx, 0x338ce
push ecx
mov edx, dword [ebp - 0x4c]
sub edx, 0x1d86c
push edx
mov eax, dword [ebp - 0x54]
sub eax, 0x3fe14
push eax
mov ecx, dword [ebp - 0x30]
add ecx, 0x52287
push ecx
mov edx, dword [ebp - 0x54]
sub edx, 0xc480
push edx
call fcn.0040eeb0
add esp, 0x14
cmp dword [ebp + 0xc], 0
jne 0x401a97
mov dword [ebp - 0x130], 0x15435
mov dword [ebp - 0x104], 0x4defd
mov dword [ebp - 0x12c], 0x3e715
mov dword [ebp - 0x100], 0xb58aa
mov dword [ebp - 0x80], 0x9ddc1
mov dword [ebp - 0xfc], 0x130d9
mov dword [ebp - 0xdc], 0x6bf3b
mov dword [ebp - 0xf0], 0x63705
mov dword [ebp - 0xec], 0xea236
mov dword [ebp - 0xac], 0xd1b29
mov dword [ebp - 0xe8], 0x35ed0
mov dword [ebp - 0xbc], 0xaed62
mov dword [ebp - 0x98], 0x5f216
mov dword [ebp - 0xd8], 0x9b25a
mov dword [ebp - 0xe4], 0xa6222
mov dword [ebp - 0xb8], 0x8d05b
mov dword [ebp - 0xe0], 0xae6af
mov dword [ebp - 0x68], 0xe16f2
mov dword [ebp - 0x9c], 0xcda15
mov dword [ebp - 0xc8], 0x22edb
mov dword [ebp - 0x108], 0x9192
mov dword [ebp - 0x11c], 0x52edd
mov dword [ebp - 0x134], 0x43564
mov dword [ebp - 0x84], 0x96686
cmp dword [ebp - 0x104], 0x4defe
jge 0x4019c9
mov eax, dword [ebp - 0x68]
xor eax, dword [ebp - 0xe0]
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp - 0x68]
add ecx, dword [ebp - 0x134]
mov dword [ebp - 0x68], ecx
mov edx, dword [ebp - 0x84]
add edx, 0xe6ac
mov dword [ebp - 0x84], edx
mov eax, dword [ebp - 0xec]
sub eax, 0x9ecf5
mov dword [ebp - 0xec], eax
mov ecx, dword [ebp - 0x104]
add ecx, 1
mov dword [ebp - 0x104], ecx
mov edx, dword [ebp - 0x68]
sub edx, dword [ebp - 0x98]
mov dword [ebp - 0x68], edx
mov eax, dword [ebp - 0xc8]
add eax, dword [ebp - 0xe8]
mov dword [ebp - 0xc8], eax
mov ecx, dword [ebp - 0xfc]
add ecx, dword [ebp - 0xbc]
mov dword [ebp - 0xfc], ecx
mov edx, dword [ebp - 0xbc]
add edx, dword [ebp - 0x100]
mov dword [ebp - 0xbc], edx
mov eax, dword [ebp - 0xf0]
xor eax, 0x82f2
mov dword [ebp - 0xf0], eax
mov ecx, dword [ebp - 0xfc]
add ecx, dword [ebp - 0x68]
mov dword [ebp - 0xfc], ecx
mov edx, dword [ebp - 0xac]
add edx, dword [ebp - 0xe0]
mov dword [ebp - 0xac], edx
mov eax, dword [ebp - 0x98]
and eax, 0xa69f2
mov dword [ebp - 0x98], eax
mov ecx, dword [ebp - 0xd8]
sub ecx, 0x62814
mov dword [ebp - 0xd8], ecx
cmp dword [ebp - 0xc8], 0x5539d
je 0x4019c4
mov edx, dword [ebp - 0x100]
or edx, 0xa045
mov dword [ebp - 0x100], edx
mov eax, dword [ebp - 0x108]
sub eax, 0x145c8
mov dword [ebp - 0x108], eax
mov ecx, dword [ebp - 0x98]
add ecx, 0x40a29
mov dword [ebp - 0x98], ecx
mov edx, dword [ebp - 0x12c]
sub edx, 0xa4b2f
mov dword [ebp - 0x12c], edx
cmp dword [ebp - 0x108], 0x618ab
je 0x4019c4
mov eax, dword [ebp - 0x68]
sub eax, dword [ebp - 0x80]
mov dword [ebp - 0x68], eax
mov ecx, dword [ebp - 0xb8]
and ecx, dword [ebp - 0x84]
mov dword [ebp - 0xb8], ecx
mov edx, dword [ebp - 0xb8]
sub edx, 0x20001
mov dword [ebp - 0xb8], edx
cmp dword [ebp - 0x68], 0x62185
je 0x4019c4
mov eax, dword [ebp - 0xbc]
sub eax, dword [ebp - 0x98]
mov dword [ebp - 0xbc], eax
mov ecx, dword [ebp - 0x80]
and ecx, 0x48c9
mov dword [ebp - 0x80], ecx
mov edx, dword [ebp - 0xd8]
or edx, 0xa1381
mov dword [ebp - 0xd8], edx
cmp dword [ebp - 0xec], 0xaae1
jne 0x4019c4
mov eax, dword [ebp - 0xe8]
or eax, dword [ebp - 0xac]
mov dword [ebp - 0xe8], eax
mov ecx, dword [ebp - 0xdc]
add ecx, dword [ebp - 0xc8]
mov dword [ebp - 0xdc], ecx
mov edx, dword [ebp - 0xb8]
xor edx, dword [ebp - 0xac]
mov dword [ebp - 0xb8], edx
cmp dword [ebp - 0x84], 0x4ed86
jne 0x4019c4
mov eax, dword [ebp - 0x98]
sub eax, 0x53f87
mov dword [ebp - 0x98], eax
mov ecx, dword [ebp - 0xc8]
and ecx, 0x7953d
mov dword [ebp - 0xc8], ecx
mov edx, dword [ebp - 0xe8]
sub edx, dword [ebp - 0xe0]
mov dword [ebp - 0xe8], edx
mov eax, dword [ebp - 0x9c]
xor eax, 0xcb48d
mov dword [ebp - 0x9c], eax
cmp dword [ebp - 0x100], 0x4595d
jle 0x4019c4
mov ecx, dword [ebp - 0xb8]
sub ecx, 0x945ec
mov dword [ebp - 0xb8], ecx
mov edx, dword [ebp - 0xe4]
and edx, 0x9db69
mov dword [ebp - 0xe4], edx
cmp dword [ebp - 0xec], 0x5ce34
je 0x4019c4
mov eax, dword [ebp - 0x98]
add eax, dword [ebp - 0xe0]
mov dword [ebp - 0x98], eax
mov ecx, dword [ebp - 0x11c]
xor ecx, 0xa9f95
mov dword [ebp - 0x11c], ecx
mov edx, dword [ebp - 0x68]
add edx, dword [ebp - 0xac]
mov dword [ebp - 0x68], edx
mov eax, dword [ebp - 0xe4]
xor eax, dword [ebp - 0xec]
mov dword [ebp - 0xe4], eax
mov ecx, dword [ebp - 0x80]
or ecx, dword [ebp - 0xf0]
mov dword [ebp - 0x80], ecx
mov edx, dword [ebp - 0x84]
sub edx, dword [ebp - 0xc8]
mov dword [ebp - 0x84], edx
cmp dword [ebp - 0x9c], 0x8da93
jle 0x4019c4
mov eax, dword [ebp - 0xdc]
xor eax, dword [ebp - 0x9c]
mov dword [ebp - 0xdc], eax
mov ecx, dword [ebp - 0x80]
and ecx, 0xa5769
mov dword [ebp - 0x80], ecx
mov edx, dword [ebp - 0x68]
xor edx, dword [ebp - 0x84]
mov dword [ebp - 0x68], edx
mov eax, dword [ebp - 0xd8]
sub eax, dword [ebp - 0x9c]
mov dword [ebp - 0xd8], eax
mov ecx, dword [ebp - 0x9c]
or ecx, dword [ebp - 0xe4]
mov dword [ebp - 0x9c], ecx
cmp dword [ebp - 0xbc], 0x6a232
jle 0x4019c4
mov edx, dword [ebp - 0xf0]
and edx, 0x3c6ae
mov dword [ebp - 0xf0], edx
mov eax, dword [ebp - 0xac]
add eax, dword [ebp - 0x84]
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0x80]
sub ecx, 0xabb5e
mov dword [ebp - 0x80], ecx
mov edx, dword [ebp - 0x80]
xor edx, 0xb5f5a
mov dword [ebp - 0x80], edx
mov eax, dword [ebp - 0x9c]
add eax, 0x8943f
mov dword [ebp - 0x9c], eax
mov ecx, dword [ebp - 0xdc]
xor ecx, 0x84efd
mov dword [ebp - 0xdc], ecx
mov edx, dword [ebp - 0xe0]
or edx, 0x618ae
mov dword [ebp - 0xe0], edx
jmp 0x4015e7
mov eax, dword [ebp - 0x98]
add eax, 0x74db6
push eax
mov ecx, dword [ebp - 0xe4]
add ecx, 0x37670
push ecx
mov edx, dword [ebp - 0x80]
add edx, 0x31130
push edx
mov eax, dword [ebp - 0x104]
add eax, 0x52115
push eax
call fcn.00439830
add esp, 0x10
mov dword [ebp - 0x118], 0
jmp 0x401a1b
mov ecx, dword [ebp - 0x118]
add ecx, 1
mov dword [ebp - 0x118], ecx
mov edx, dword [ebp - 0x130]
sub edx, 0x15434
cmp dword [ebp - 0x118], edx
jge 0x401a88
mov eax, dword [ebp - 0x84]
or eax, dword [ebp - 0x11c]
mov dword [ebp - 0x84], eax
mov ecx, dword [ebp - 0xbc]
or ecx, dword [ebp - 0x130]
mov dword [ebp - 0xbc], ecx
mov edx, dword [ebp - 0x9c]
xor edx, dword [ebp - 0x108]
mov dword [ebp - 0x9c], edx
mov eax, dword [ebp - 0xac]
sub eax, dword [ebp - 0x134]
mov dword [ebp - 0xac], eax
mov ecx, dword [ebp - 0x84]
add ecx, 1
mov dword [ebp - 0x84], ecx
jmp 0x401a0c
mov edx, dword [ebp + 8]
push edx
call fcn.0050a850
add esp, 4
mov dword [ebp + 0xc], eax
mov eax, dword [ebp - 0x40]
add eax, dword [ebp - 8]
mov dword [ebp - 0x40], eax
mov ecx, dword [ebp - 8]
and ecx, 0xea8d6
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0xc]
or edx, dword [ebp - 0xc]
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 8]
and eax, 0x57427
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 4]
xor ecx, 0xbca83
mov dword [ebp - 4], ecx
mov edx, dword [0x5fab14]
xor edx, 0xd744
mov dword [ebp - 0xf8], edx
mov eax, dword [ebp - 0x3c]
sub eax, dword [ebp - 0x38]
mov dword [ebp - 0x3c], eax
mov ecx, dword [ebp - 8]
xor ecx, dword [ebp - 8]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x1c]
sub edx, 0x22adf
mov dword [ebp - 0x1c], edx
mov eax, dword [ebp - 0x18]
add eax, dword [ebp - 0x1c]
mov dword [ebp - 0x18], eax
cmp dword [ebp - 0x40], 0x501df
je 0x401b5b
mov ecx, dword [ebp - 0x20]
add ecx, dword [ebp - 0xc]
mov dword [ebp - 0x20], ecx
mov edx, dword [ebp - 0xc]
or edx, 0xdc716
mov dword [ebp - 0xc], edx
mov eax, dword [ebp - 0x50]
and eax, 0x7d9cf
mov dword [ebp - 0x50], eax
mov ecx, dword [ebp - 8]
and ecx, dword [ebp - 0x50]
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 4]
add edx, dword [ebp - 0x54]
mov dword [ebp - 4], edx
mov eax, dword [ebp - 0x30]
sub eax, dword [ebp - 0x24]
mov dword [ebp - 0x30], eax
mov ecx, dword [ebp - 0x50]
and ecx, dword [ebp - 0xc]
mov dword [ebp - 0x50], ecx
mov edx, dword [ebp - 0x24]
sub edx, 1
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x114], 0
jmp 0x401b76
mov eax, dword [ebp - 0x114]
add eax, 1
mov dword [ebp - 0x114], eax
mov ecx, dword [ebp - 0x114]
cmp ecx, dword [ebp + 0xc]
jae 0x402371
mov dword [ebp - 0xcc], 0x988c2
mov dword [ebp - 0x60], 0x27c2e
mov dword [ebp - 0x74], 0xd1c3b
mov dword [ebp - 0xa0], 0x8c387
mov dword [ebp - 0xb4], 0x58317
mov dword [ebp - 0x94], 0xd8249
mov dword [ebp - 0x78], 0x9e2fb
mov dword [ebp - 0xa8], 0x3ec1d
mov dword [ebp - 0xd0], 0xe738
mov dword [ebp - 0x70], 0x1e55d
mov dword [ebp - 0x10c], 0xbbe3a
mov dword [ebp - 0x8c], 0x36ec1
mov dword [ebp - 0x7c], 0x54e02
mov dword [ebp - 0xa4], 0x85a9d
mov dword [ebp - 0x64], 0x4516f
mov dword [ebp - 0x90], 0x92e48
mov dword [ebp - 0xf4], 0x37d5c
mov dword [ebp - 0xd4], 0x8b6fa
mov dword [ebp - 0xb0], 0x10b8c
mov dword [ebp - 0x6c], 0xd58c
mov dword [ebp - 0x88], 0x91512
mov dword [ebp - 0xc4], 0xabad7
mov dword [ebp - 0xc0], 0x5a42c
mov dword [ebp - 0x110], 0x57654
mov dword [ebp - 0x120], 0
jmp 0x401c7b
mov edx, dword [ebp - 0x120]
add edx, 1
mov dword [ebp - 0x120], edx
mov eax, dword [ebp - 0xd0]
sub eax, 0xe737
cmp dword [ebp - 0x120], eax
jge 0x401e74
mov ecx, dword [ebp - 0x6c]
xor ecx, 0x9ef9
mov dword [ebp - 0x6c], ecx
mov edx, dword [ebp - 0xb4]
add edx, 0xcc549
mov dword [ebp - 0xb4], edx
mov eax, dword [ebp - 0xf4]
and eax, 0x7aaea
mov dword [ebp - 0xf4], eax
mov ecx, dword [ebp - 0x94]
add ecx, 0xe808b
mov dword [ebp - 0x94], ecx
mov edx, dword [ebp - 0xd4]
xor edx, 0x714b4
mov dword [ebp - 0xd4], edx
cmp dword [ebp - 0x110], 0x669a9
jle 0x401e6f
mov eax, dword [ebp - 0x64]
xor eax, 0x3d6a7
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x70]
add ecx, 0x9e4d
mov dword [ebp - 0x70], ecx
mov edx, dword [ebp - 0x74]
and edx, dword [ebp - 0x70]
mov dword [ebp - 0x74], edx
cmp dword [ebp - 0xa0], 0x27ce9
je 0x401e6f
mov eax, dword [ebp - 0x10c]
or eax, 0x2027d
mov dword [ebp - 0x10c], eax
mov ecx, dword [ebp - 0xa8]
or ecx, 0x30620
mov dword [ebp - 0xa8], ecx
mov edx, dword [ebp - 0x78]
add edx, dword [ebp - 0x88]
mov dword [ebp - 0x78], edx
mov eax, dword [ebp - 0xb4]
sub eax, dword [ebp - 0x8c]
mov dword [ebp - 0xb4], eax
cmp dword [ebp - 0x74], 0x33b25
jne 0x401e6f
mov ecx, dword [ebp - 0x8c]
or ecx, dword [ebp - 0xc0]
mov dword [ebp - 0x8c], ecx
mov edx, dword [ebp - 0x94]
or edx, 0xed5a7
mov dword [ebp - 0x94], edx
mov eax, dword [ebp - 0xc0]
add eax, dword [ebp - 0xb0]
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebp - 0x64]
sub ecx, 0x82d3
mov dword [ebp - 0x64], ecx
cmp dword [ebp - 0x70], 0xe0f0d
je 0x401e6f
mov edx, dword [ebp - 0x94]
add edx, 0x51a53
mov dword [ebp - 0x94], edx
mov eax, dword [ebp - 0x70]
or eax, 0x833dc
mov dword [ebp - 0x70], eax
mov ecx, dword [ebp - 0x90]
sub ecx, dword [ebp - 0x110]
mov dword [ebp - 0x90], ecx
mov edx, dword [ebp - 0x70]
sub edx, dword [ebp - 0xc0]
mov dword [ebp - 0x70], edx
mov eax, dword [ebp - 0x88]
or eax, dword [ebp - 0x60]
mov dword [ebp - 0x88], eax
mov ecx, dword [ebp - 0x78]
add ecx, dword [ebp - 0x90]
mov dword [ebp - 0x78], ecx
mov edx, dword [ebp - 0x7c]
xor edx, 0xe07ff
mov dword [ebp - 0x7c], edx
cmp dword [ebp - 0xa4], 0x81f2f
jne 0x401e6f
mov eax, dword [ebp - 0x7c]
xor eax, dword [ebp - 0xcc]
mov dword [ebp - 0x7c], eax
mov ecx, dword [ebp - 0x6c]
sub ecx, 0x54088
mov dword [ebp - 0x6c], ecx
mov edx, dword [ebp - 0xcc]
xor edx, 0x54dd7
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0x64]
sub eax, dword [ebp - 0xc4]
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x70]
sub ecx, 1
mov dword [ebp - 0x70], ecx
jmp 0x401c6c
mov edx, dword [0x5fab10]
xor edx, 0x9048
imul edx, dword [ebp - 0xf8]
mov dword [ebp - 0xf8], edx
mov eax, dword [ebp - 0x64]
and eax, dword [ebp - 0x6c]
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0xb0]
add ecx, dword [ebp - 0x7c]
mov dword [ebp - 0xb0], ecx
mov edx, dword [ebp - 0xc4]
sub edx, 0x1e1a2
mov dword [ebp - 0xc4], edx
cmp dword [ebp - 0x70], 0x90551
jne 0x401fd3
mov eax, dword [ebp - 0x74]
xor eax, 0x60133
mov dword [ebp - 0x74], eax
mov ecx, dword [ebp - 0x74]
add ecx, dword [ebp - 0xa0]
mov dword [ebp - 0x74], ecx
mov edx, dword [ebp - 0xb4]
or edx, 0x72077
mov dword [ebp - 0xb4], edx
mov eax, dword [ebp - 0xd0]
add eax, dword [ebp - 0x74]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0xb0]
and ecx, dword [ebp - 0x88]
mov dword [ebp - 0xb0], ecx
mov edx, dword [ebp - 0xa0]
xor edx, 0x48e1a
mov dword [ebp - 0xa0], edx
cmp dword [ebp - 0x64], 0xf3c9a
jge 0x401fd3
mov eax, dword [ebp - 0x6c]
xor eax, dword [ebp - 0xa0]
mov dword [ebp - 0x6c], eax
mov ecx, dword [ebp - 0xa0]
or ecx, dword [ebp - 0x70]
mov dword [ebp - 0xa0], ecx
mov edx, dword [ebp - 0x60]
add edx, dword [ebp - 0xcc]
mov dword [ebp - 0x60], edx
cmp dword [ebp - 0xa8], 0xc7e40
jge 0x401fd3
mov eax, dword [ebp - 0x78]
or eax, 0xc1130
mov dword [ebp - 0x78], eax
mov ecx, dword [ebp - 0x8c]
add ecx, dword [ebp - 0x60]
mov dword [ebp - 0x8c], ecx
mov edx, dword [ebp - 0xcc]
sub edx, 0xbea80
mov dword [ebp - 0xcc], edx
mov eax, dword [ebp - 0x7c]
xor eax, 0x3faa6
mov dword [ebp - 0x7c], eax
mov ecx, dword [ebp - 0xd4]
and ecx, dword [ebp - 0x8c]
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0x90]
and edx, dword [ebp - 0x70]
mov dword [ebp - 0x90], edx
mov eax, dword [ebp - 0x8c]
or eax, dword [ebp - 0xa8]
mov dword [ebp - 0x8c], eax
mov ecx, dword [ebp - 0x64]
add ecx, 1
mov dword [ebp - 0x64], ecx
mov edx, dword [ebp - 0x94]
sub edx, 0xd320b
push edx
mov eax, dword [ebp - 0xb0]
sub eax, 0x272a2
push eax
mov ecx, dword [ebp - 0x74]
sub ecx, 0x58b7b
push ecx
mov edx, dword [ebp - 0xc0]
add edx, 0x91ba0
push edx
mov eax, dword [ebp - 0x60]
add eax, 0x62163
push eax
mov ecx, dword [ebp - 0xa0]
sub ecx, 0x18718
push ecx
mov edx, dword [ebp - 0x8c]
add edx, 0x53fb5
push edx
mov eax, dword [ebp - 0xcc]
add eax, 0x37df8
push eax
call fcn.004370b0
add esp, 0x20
mov dword [ebp - 0x124], 0
jmp 0x402055
mov ecx, dword [ebp - 0x124]
add ecx, 1
mov dword [ebp - 0x124], ecx
mov edx, dword [ebp - 0x110]
sub edx, 0x57653
cmp dword [ebp - 0x124], edx
jge 0x402354
mov eax, dword [ebp - 0x88]
and eax, 0x39da4
mov dword [ebp - 0x88], eax
mov ecx, dword [ebp - 0xa0]
xor ecx, 0x7dd72
mov dword [ebp - 0xa0], ecx
mov edx, dword [ebp - 0x64]
sub edx, 0x9b92c
mov dword [ebp - 0x64], edx
mov eax, dword [ebp - 0x6c]
xor eax, 0x949b4
mov dword [ebp - 0x6c], eax
cmp dword [ebp - 0xb0], 0x9562
jge 0x40234f
mov ecx, dword [ebp - 0xa4]
add ecx, dword [ebp - 0x88]
mov dword [ebp - 0xa4], ecx
mov edx, dword [ebp - 0x60]
or edx, 0xee438
mov dword [ebp - 0x60], edx
mov eax, dword [ebp - 0x74]
xor eax, 0xbe74e
mov dword [ebp - 0x74], eax
mov ecx, dword [ebp - 0x6c]
add ecx, dword [ebp - 0xf4]
mov dword [ebp - 0x6c], ecx
mov edx, dword [ebp - 0x7c]
sub edx, dword [ebp - 0x10c]
mov dword [ebp - 0x7c], edx
cmp dword [ebp - 0xa8], 0xc5a8a
jne 0x40234f
mov eax, dword [ebp - 0xd0]
add eax, dword [ebp - 0x78]
mov dword [ebp - 0xd0], eax
mov ecx, dword [ebp - 0x60]
or ecx, dword [ebp - 0xa4]
mov dword [ebp - 0x60], ecx
mov edx, dword [ebp - 0x60]
xor edx, dword [ebp - 0xd4]
mov dword [ebp - 0x60], edx
mov eax, dword [ebp - 0xa4]
sub eax, dword [ebp - 0xa4]
mov dword [ebp - 0xa4], eax
cmp dword [ebp - 0xb4], 0xcf606
jge 0x40234f
mov ecx, dword [ebp - 0x74]
and ecx, dword [ebp - 0xa0]
mov dword [ebp - 0x74], ecx
mov edx, dword [ebp - 0x88]
xor edx, 0x62b97
mov dword [ebp - 0x88], edx
mov eax, dword [ebp - 0x90]
and eax, 0xd7f59
mov dword [ebp - 0x90], eax
mov ecx, dword [ebp - 0xd0]
or ecx, 0xb12a
mov dword [ebp - 0xd0], ecx
cmp dword [ebp - 0xc0], 0x516a2
je 0x40234f
mov edx, dword [ebp - 0x60]
or edx, dword [ebp - 0x8c]
mov dword [ebp - 0x60], edx
mov eax, dword [ebp - 0x7c]
or eax, dword [ebp - 0x10c]
mov dword [ebp - 0x7c], eax
mov ecx, dword [ebp - 0x60]
add ecx, dword [ebp - 0x110]
mov dword [ebp - 0x60], ecx
mov edx, dword [ebp - 0x78]
sub edx, 0x81aa0
mov dword [ebp - 0x78], edx
cmp dword [ebp - 0x94], 0xadb27
jle 0x40234f
mov eax, dword [ebp - 0x90]
and eax, dword [ebp - 0x88]
mov dword [ebp - 0x90], eax
mov ecx, dword [ebp - 0x94]
and ecx, dword [ebp - 0xc4]
mov dword [ebp - 0x94], ecx
mov edx, dword [ebp - 0x78]
add edx, 0xa4458
mov dword [ebp - 0x78], edx
mov eax, dword [ebp - 0xa8]
or eax, 0x6ee75
mov dword [ebp - 0xa8], eax
mov ecx, dword [ebp - 0xa4]
xor ecx, 0xe8c
mov dword [ebp - 0xa4], ecx
cmp dword [ebp - 0x90], 0xc92e0
jle 0x40234f
mov edx, dword [ebp - 0xa8]
sub edx, 0xf13c7
mov dword [ebp - 0xa8], edx
mov eax, dword [ebp - 0x78]
or eax, dword [ebp - 0xf4]
mov dword [ebp - 0x78], eax
mov ecx, dword [ebp - 0xd4]
or ecx, 0xdad4e
mov dword [ebp - 0xd4], ecx
mov edx, dword [ebp - 0xc4]
add edx, dword [ebp - 0x88]
mov dword [ebp - 0xc4], edx
mov eax, dword [ebp - 0x60]
or eax, dword [ebp - 0x88]
mov dword [ebp - 0x60], eax
mov ecx, dword [ebp - 0xb0]
sub ecx, 0x6cedf
mov dword [ebp - 0xb0], ecx
mov edx, dword [ebp - 0xa4]
sub edx, 0xcf040
mov dword [ebp - 0xa4], edx
cmp dword [ebp - 0xa8], 0xef664
jle 0x40234f
mov eax, dword [ebp - 0x64]
or eax, 0x28a37
mov dword [ebp - 0x64], eax
mov ecx, dword [ebp - 0x6c]
sub ecx, dword [ebp - 0x64]
mov dword [ebp - 0x6c], ecx
mov edx, dword [ebp - 0x8c]
sub edx, dword [ebp - 0xf4]
mov dword [ebp - 0x8c], edx
mov eax, dword [ebp - 0xc0]
add eax, dword [ebp - 0x6c]
mov dword [ebp - 0xc0], eax
mov ecx, dword [ebp - 0xb4]
sub ecx, 0xd460
mov dword [ebp - 0xb4], ecx
mov edx, dword [ebp - 0x7c]
xor edx, 0x9a1e7
mov dword [ebp - 0x7c], edx
mov eax, dword [ebp - 0x90]
or eax, 0x812d9
mov dword [ebp - 0x90], eax
mov ecx, dword [ebp - 0x94]
or ecx, 0x8b548
mov dword [ebp - 0x94], ecx
mov edx, dword [ebp - 0xc4]
xor edx, 0x6de1c
mov dword [ebp - 0xc4], edx
jmp 0x402046
mov eax, dword [ebp + 8]
add eax, dword [ebp - 0x114]
movsx ecx, byte [eax]
add ecx, dword [ebp - 0xf8]
mov dword [ebp - 0xf8], ecx
jmp 0x401b67
mov edx, dword [ebp - 0x3c]
xor edx, dword [ebp - 0x40]
mov dword [ebp - 0x3c], edx
mov eax, dword [ebp - 0xc]
and eax, 0xea34d
mov dword [ebp - 0xc], eax
mov ecx, dword [ebp - 0xc]
add ecx, 0x1e535
mov dword [ebp - 0xc], ecx
mov edx, dword [ebp - 0x14]
sub edx, 0x9f920
mov dword [ebp - 0x14], edx
mov eax, dword [ebp - 0xc]
sub eax, 0x75310
mov dword [ebp - 0xc], eax
cmp dword [ebp - 0x4c], 0x38c65
jge 0x4023f8
mov ecx, dword [ebp - 0x38]
xor ecx, dword [ebp - 0x44]
mov dword [ebp - 0x38], ecx
mov edx, dword [ebp - 8]
xor edx, 0xb3910
mov dword [ebp - 8], edx
mov eax, dword [ebp - 0x10]
xor eax, dword [ebp - 8]
mov dword [ebp - 0x10], eax
mov ecx, dword [ebp - 0x24]
sub ecx, 0xed8c8
mov dword [ebp - 0x24], ecx
mov edx, dword [ebp - 0x50]
and edx, dword [ebp - 0x30]
mov dword [ebp - 0x50], edx
mov eax, dword [ebp - 0x14]
add eax, 0x2f8e5
mov dword [ebp - 0x14], eax
mov ecx, dword [ebp - 0xc]
sub ecx, dword [ebp - 0x44]
mov dword [ebp - 0xc], ecx
mov dword [ebp - 0x128], 0
jmp 0x402413
mov edx, dword [ebp - 0x128]
add edx, 1
mov dword [ebp - 0x128], edx
mov eax, dword [ebp - 0x24]
sub eax, 0xc4f1c
cmp dword [ebp - 0x128], eax
jge 0x4024ae
mov ecx, dword [ebp - 0x30]
sub ecx, 0x37c27
mov dword [ebp - 0x30], ecx
mov edx, dword [ebp - 0x18]
add edx, dword [ebp - 0x1c]
mov dword [ebp - 0x18], edx
mov eax, dword [ebp - 0x1c]
add eax, dword [ebp - 0x40]
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 0x5c]
xor ecx, 0xb5ed9
mov dword [ebp - 0x5c], ecx
cmp dword [ebp - 0x58], 0x17f34
jle 0x4024a9
mov edx, dword [ebp - 0x30]
and edx, 0xeef34
mov dword [ebp - 0x30], edx
mov eax, dword [ebp - 0x1c]
sub eax, 0xbebb8
mov dword [ebp - 0x1c], eax
mov ecx, dword [ebp - 8]
and ecx, 0x9034
mov dword [ebp - 8], ecx
mov edx, dword [ebp - 0x28]
add edx, 0x9fd47
mov dword [ebp - 0x28], edx
mov eax, dword [ebp - 0x28]
or eax, 0x9a0c0
mov dword [ebp - 0x28], eax
mov ecx, dword [ebp - 0x40]
xor ecx, 0xd6140
mov dword [ebp - 0x40], ecx
mov edx, dword [ebp - 4]
and edx, dword [ebp - 0x38]
mov dword [ebp - 4], edx
jmp 0x402404
mov eax, dword [ebp - 0xf8]
jmp 0x402ccf
mov esp, ebp
pop ebp
ret