Function at 0x10025f50
Capabilities:
Encode data using xor
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xa0
test esi, esi
je 0x10026ec5
cmp dword [esp + 0xa4], 0
je 0x10026ec5
cmp dword [esi], ecx
je 0x10025f86
push 0x29
push 0x30000
call fcn.10024000
add esp, 8
add esp, 0xa0
ret
mov edx, dword [esi + 4]
mov eax, edx
shr eax, 3
and edx, 7
cmp eax, 0x80
jb 0x10025fae
push 0x59
push 0x30000
call fcn.10024000
add esp, 8
add esp, 0xa0
ret
test edx, edx
je 0x10025fc3
mov ecx, 7
sub ecx, edx
mov dl, 1
shl dl, cl
or byte [eax + esi + 0x48], dl
jmp 0x10025fc8
mov byte [eax + esi + 0x48], 0x80
push ebx
push ebp
push edi
mov ecx, 0x7f
sub ecx, eax
push ecx
lea edx, [eax + esi + 0x49]
push 0
push edx
call fcn.1008e320
mov ebp, dword [esi + 0x58]
mov dword [esp + 0x2c], ebp
mov ebp, dword [esi + 0x5c]
mov dword [esp + 0x30], ebp
mov ebp, dword [esi + 0x60]
mov dword [esp + 0x34], ebp
mov ebp, dword [esi + 0x64]
mov dword [esp + 0x38], ebp
mov ebp, dword [esi + 0x68]
mov dword [esp + 0x3c], ebp
mov ebp, dword [esi + 0x6c]
mov dword [esp + 0x40], ebp
mov ebp, dword [esi + 0x70]
mov dword [esp + 0x44], ebp
mov ebp, dword [esi + 0x74]
mov dword [esp + 0x48], ebp
mov ebp, dword [esi + 0x78]
mov dword [esp + 0x4c], ebp
mov ebp, dword [esi + 0x7c]
mov dword [esp + 0x50], ebp
mov ebp, dword [esi + 0x80]
mov dword [esp + 0x54], ebp
mov ebp, dword [esi + 0x84]
mov dword [esp + 0x58], ebp
mov ebp, dword [esi + 0x88]
mov dword [esp + 0x5c], ebp
mov ebp, dword [esi + 0x8c]
mov dword [esp + 0x60], ebp
mov ebp, dword [esi + 0x90]
mov dword [esp + 0x64], ebp
mov ebp, dword [esi + 0x94]
mov dword [esp + 0x68], ebp
mov ebp, dword [esi + 0x98]
mov dword [esp + 0x6c], ebp
mov ebp, dword [esi + 0x9c]
mov ecx, dword [esi + 0x50]
mov edx, dword [esi + 0x48]
mov ebx, dword [esi + 0x4c]
mov edi, dword [esi + 0x54]
mov dword [esp + 0x70], ebp
mov ebp, dword [esi + 0xa0]
mov dword [esp + 0x74], ebp
mov ebp, dword [esi + 0xa4]
mov dword [esp + 0x78], ebp
mov ebp, dword [esi + 0xa8]
mov dword [esp + 0x7c], ebp
mov ebp, dword [esi + 0xac]
mov dword [esp + 0x80], ebp
mov ebp, dword [esi + 0xb0]
mov dword [esp + 0x84], ebp
mov ebp, dword [esi + 0xb4]
mov dword [esp + 0x88], ebp
mov ebp, dword [esi + 0xb8]
mov dword [esp + 0x8c], ebp
mov ebp, dword [esi + 0xbc]
lea eax, [esi + 8]
mov dword [esp + 0x90], ebp
mov ebp, dword [esi + 0xc0]
mov dword [esp + 0x94], ebp
mov ebp, dword [esi + 0xc4]
xor dword [eax + 8], ecx
xor dword [eax], edx
xor dword [eax + 4], ebx
xor dword [eax + 0xc], edi
mov dword [esp + 0x24], ecx
mov ecx, dword [esp + 0x2c]
xor dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x30]
add esp, 0xc
xor dword [eax + 0x14], ecx
mov dword [esp + 0x8c], ebp
mov ecx, dword [esp + 0x28]
xor dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x2c]
xor dword [eax + 0x1c], ecx
mov ebp, dword [esp + 0x34]
xor dword [esi + 0x2c], ebp
mov ebp, dword [esp + 0x38]
xor dword [esi + 0x30], ebp
mov ebp, dword [esp + 0x3c]
xor dword [esi + 0x34], ebp
mov ebp, dword [esp + 0x40]
xor dword [esi + 0x38], ebp
mov ebp, dword [esp + 0x44]
xor dword [esi + 0x3c], ebp
mov ebp, dword [esp + 0x48]
xor dword [esi + 0x40], ebp
mov ecx, dword [esp + 0x30]
xor dword [esi + 0x28], ecx
mov ecx, dword [esi + 0x28]
mov ebp, dword [esp + 0x4c]
xor dword [esi + 0x44], ebp
add dword [eax], ecx
mov ecx, dword [esi + 0x2c]
add dword [eax + 4], ecx
mov ecx, dword [esi + 0x30]
add dword [eax + 8], ecx
mov ecx, dword [esi + 0x34]
add dword [eax + 0xc], ecx
mov ecx, dword [esi + 0x38]
add dword [eax + 0x10], ecx
mov ecx, dword [esi + 0x3c]
add dword [eax + 0x14], ecx
mov ecx, dword [esi + 0x40]
add dword [eax + 0x18], ecx
mov ecx, dword [esi + 0x44]
add dword [eax + 0x1c], ecx
mov ecx, dword [eax]
mov ebp, dword [eax + 4]
rol ecx, 0x1d
xor ecx, 0x917caf90
rol ebp, 0x1d
xor ebp, 0x6c1b10a2
mov dword [eax + 4], ebp
mov ebp, dword [eax + 8]
rol ebp, 0x1d
xor ebp, 0x6f352943
mov dword [eax + 8], ebp
mov ebp, dword [eax + 0xc]
rol ebp, 0x1d
xor ebp, 0xcf778243
mov dword [eax + 0xc], ebp
mov ebp, dword [eax + 0x10]
rol ebp, 0x1d
xor ebp, 0x2ceb7472
mov dword [eax + 0x10], ebp
mov ebp, dword [eax + 0x14]
rol ebp, 0x1d
xor ebp, 0x29e96ff2
mov dword [eax + 0x14], ebp
mov ebp, dword [eax + 0x18]
rol ebp, 0x1d
xor ebp, 0x8a9ba428
mov dword [eax + 0x18], ebp
mov ebp, dword [eax + 0x1c]
mov dword [eax], ecx
rol ebp, 0x1d
xor ebp, 0x2eeb2642
mov dword [eax + 0x1c], ebp
add dword [esi + 0x28], ecx
mov ecx, dword [eax + 4]
add dword [esi + 0x2c], ecx
mov ecx, dword [eax + 8]
add dword [esi + 0x30], ecx
mov ecx, dword [eax + 0xc]
add dword [esi + 0x34], ecx
mov ecx, dword [eax + 0x10]
add dword [esi + 0x38], ecx
mov ecx, dword [eax + 0x14]
add dword [esi + 0x3c], ecx
mov ecx, dword [eax + 0x18]
add dword [esi + 0x40], ecx
mov ecx, dword [eax + 0x1c]
add dword [esi + 0x44], ecx
mov ecx, dword [esi + 0x28]
mov ebp, dword [esi + 0x2c]
rol ecx, 1
rol ebp, 1
mov dword [esi + 0x2c], ebp
mov ebp, dword [esi + 0x30]
rol ebp, 1
mov dword [esi + 0x30], ebp
mov ebp, dword [esi + 0x34]
rol ebp, 1
mov dword [esi + 0x34], ebp
mov ebp, dword [esi + 0x38]
mov dword [esi + 0x28], ecx
rol ebp, 1
mov dword [esi + 0x38], ebp
mov ebp, dword [esi + 0x3c]
rol ebp, 1
mov dword [esi + 0x3c], ebp
mov ebp, dword [esi + 0x40]
rol ebp, 1
mov dword [esi + 0x40], ebp
mov ebp, dword [esi + 0x44]
rol ebp, 1
mov dword [esi + 0x44], ebp
add dword [eax], ecx
mov ecx, dword [esi + 0x2c]
add dword [eax + 4], ecx
mov ecx, dword [esi + 0x30]
add dword [eax + 8], ecx
mov ecx, dword [esi + 0x34]
add dword [eax + 0xc], ecx
mov ecx, dword [esi + 0x38]
add dword [eax + 0x10], ecx
mov ecx, dword [esi + 0x3c]
add dword [eax + 0x14], ecx
mov ecx, dword [esi + 0x40]
add dword [eax + 0x18], ecx
mov ecx, dword [esi + 0x44]
add dword [eax + 0x1c], ecx
mov ecx, dword [esi + 0x2c]
rol ecx, 8
mov dword [esi + 0x2c], ecx
mov ecx, dword [esi + 0x30]
rol ecx, 0x10
mov dword [esi + 0x30], ecx
mov ecx, dword [esi + 0x34]
rol ecx, 0x18
mov dword [esi + 0x34], ecx
mov ecx, dword [esi + 0x38]
rol ecx, 0x18
mov dword [esi + 0x38], ecx
mov ecx, dword [esi + 0x3c]
rol ecx, 0x10
mov dword [esi + 0x3c], ecx
mov ecx, dword [esi + 0x40]
rol ecx, 8
mov dword [esi + 0x40], ecx
mov ebp, dword [eax + 0x18]
mov ecx, dword [eax]
mov dword [eax], ebp
mov ebp, dword [esi + 0x40]
mov dword [eax + 0x18], ebp
mov ebp, dword [esi + 0x30]
mov dword [esi + 0x40], ebp
mov ebp, dword [eax + 4]
mov dword [esi + 0x30], ebp
mov ebp, dword [eax + 0x10]
mov dword [eax + 4], ebp
mov ebp, dword [esi + 0x38]
mov dword [eax + 0x10], ebp
mov ebp, dword [esi + 0x28]
mov dword [esi + 0x38], ebp
mov ebp, dword [eax + 8]
mov dword [esi + 0x28], ebp
mov ebp, dword [eax + 0x14]
mov dword [eax + 8], ebp
mov ebp, dword [esi + 0x44]
mov dword [eax + 0x14], ebp
mov ebp, dword [esi + 0x2c]
mov dword [esi + 0x44], ebp
mov dword [esi + 0x2c], ecx
mov ebp, dword [eax + 0x1c]
mov ecx, dword [eax + 0xc]
mov dword [eax + 0xc], ebp
mov ebp, dword [esi + 0x3c]
mov dword [eax + 0x1c], ebp
mov ebp, dword [esi + 0x34]
mov dword [esi + 0x34], ecx
mov dword [esi + 0x3c], ebp
mov ecx, dword [esp + 0x50]
xor dword [eax], ecx
mov ecx, dword [esp + 0x54]
xor dword [eax + 4], ecx
mov ecx, dword [esp + 0x58]
xor dword [eax + 8], ecx
mov ecx, dword [esp + 0x5c]
xor dword [eax + 0xc], ecx
mov ecx, dword [esp + 0x60]
xor dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x64]
xor dword [eax + 0x14], ecx
mov ecx, dword [esp + 0x68]
xor dword [eax + 0x18], ecx
mov ecx, dword [esp + 0x6c]
xor dword [eax + 0x1c], ecx
mov ebp, dword [esp + 0x74]
xor dword [esi + 0x2c], ebp
mov ebp, dword [esp + 0x78]
xor dword [esi + 0x30], ebp
mov ebp, dword [esp + 0x7c]
xor dword [esi + 0x34], ebp
mov ebp, dword [esp + 0x80]
xor dword [esi + 0x38], ebp
mov ebp, dword [esp + 0x84]
xor dword [esi + 0x3c], ebp
mov ebp, dword [esp + 0x88]
xor dword [esi + 0x40], ebp
mov ecx, dword [esp + 0x70]
xor dword [esi + 0x28], ecx
mov ecx, dword [esi + 0x28]
mov ebp, dword [esp + 0x8c]
xor dword [esi + 0x44], ebp
add dword [eax], ecx
mov ecx, dword [esi + 0x2c]
add dword [eax + 4], ecx
mov ecx, dword [esi + 0x30]
add dword [eax + 8], ecx
mov ecx, dword [esi + 0x34]
add dword [eax + 0xc], ecx
mov ecx, dword [esi + 0x38]
add dword [eax + 0x10], ecx
mov ecx, dword [esi + 0x3c]
add dword [eax + 0x14], ecx
mov ecx, dword [esi + 0x40]
add dword [eax + 0x18], ecx
mov ecx, dword [esi + 0x44]
add dword [eax + 0x1c], ecx
mov ecx, dword [eax]
mov ebp, dword [eax + 4]
rol ecx, 5
xor ecx, 0xe2c4021
rol ebp, 5
xor ebp, 0x872bb30e
mov dword [eax + 4], ebp
mov ebp, dword [eax + 8]
rol ebp, 5
xor ebp, 0xa45e6cb2
mov dword [eax + 8], ebp
mov ebp, dword [eax + 0xc]
rol ebp, 5
xor ebp, 0x46f9c612
mov dword [eax + 0xc], ebp
mov ebp, dword [eax + 0x10]
rol ebp, 5
xor ebp, 0x185fe69e
mov dword [eax + 0x10], ebp
mov ebp, dword [eax + 0x14]
rol ebp, 5
mov dword [eax], ecx
xor ebp, 0x1359621b
mov dword [eax + 0x14], ebp
mov ebp, dword [eax + 0x18]
rol ebp, 5
xor ebp, 0x263fccb2
mov dword [eax + 0x18], ebp
mov ebp, dword [eax + 0x1c]
rol ebp, 5
xor ebp, 0x1a116870
mov dword [eax + 0x1c], ebp
add dword [esi + 0x28], ecx
mov ecx, dword [eax + 4]
add dword [esi + 0x2c], ecx
mov ecx, dword [eax + 8]
add dword [esi + 0x30], ecx
mov ecx, dword [eax + 0xc]
add dword [esi + 0x34], ecx
mov ecx, dword [eax + 0x10]
add dword [esi + 0x38], ecx
mov ecx, dword [eax + 0x14]
add dword [esi + 0x3c], ecx
mov ecx, dword [eax + 0x18]
add dword [esi + 0x40], ecx
mov ecx, dword [eax + 0x1c]
add dword [esi + 0x44], ecx
mov ecx, dword [esi + 0x28]
mov ebp, dword [esi + 0x2c]
rol ecx, 0x11
rol ebp, 0x11
mov dword [esi + 0x2c], ebp
mov ebp, dword [esi + 0x30]
rol ebp, 0x11
mov dword [esi + 0x30], ebp
mov ebp, dword [esi + 0x34]
rol ebp, 0x11
mov dword [esi + 0x34], ebp
mov ebp, dword [esi + 0x38]
rol ebp, 0x11
mov dword [esi + 0x38], ebp
mov ebp, dword [esi + 0x3c]
mov dword [esi + 0x28], ecx
rol ebp, 0x11
mov dword [esi + 0x3c], ebp
mov ebp, dword [esi + 0x40]
rol ebp, 0x11
mov dword [esi + 0x40], ebp
mov ebp, dword [esi + 0x44]
rol ebp, 0x11
mov dword [esi + 0x44], ebp
add dword [eax], ecx
mov ecx, dword [esi + 0x2c]
add dword [eax + 4], ecx
mov ecx, dword [esi + 0x30]
add dword [eax + 8], ecx
mov ecx, dword [esi + 0x34]
add dword [eax + 0xc], ecx
mov ecx, dword [esi + 0x38]
add dword [eax + 0x10], ecx
mov ecx, dword [esi + 0x3c]
add dword [eax + 0x14], ecx
mov ecx, dword [esi + 0x40]
add dword [eax + 0x18], ecx
mov ecx, dword [esi + 0x44]
add dword [eax + 0x1c], ecx
mov ecx, dword [esi + 0x2c]
rol ecx, 8
mov dword [esi + 0x2c], ecx
mov ecx, dword [esi + 0x30]
rol ecx, 0x10
mov dword [esi + 0x30], ecx
mov ecx, dword [esi + 0x34]
rol ecx, 0x18
mov dword [esi + 0x34], ecx
mov ecx, dword [esi + 0x38]
rol ecx, 0x18
mov dword [esi + 0x38], ecx
mov ecx, dword [esi + 0x3c]
rol ecx, 0x10
mov dword [esi + 0x3c], ecx
mov ecx, dword [esi + 0x40]
rol ecx, 8
mov dword [esi + 0x40], ecx
mov ebp, dword [eax + 0x18]
mov ecx, dword [eax]
mov dword [eax], ebp
mov ebp, dword [esi + 0x40]
mov dword [eax + 0x18], ebp
mov ebp, dword [esi + 0x30]
mov dword [esi + 0x40], ebp
mov ebp, dword [eax + 4]
mov dword [esi + 0x30], ebp
mov ebp, dword [eax + 0x10]
mov dword [eax + 4], ebp
mov ebp, dword [esi + 0x38]
mov dword [eax + 0x10], ebp
mov ebp, dword [esi + 0x28]
mov dword [esi + 0x38], ebp
mov ebp, dword [eax + 8]
mov dword [esi + 0x28], ebp
mov ebp, dword [eax + 0x14]
mov dword [eax + 8], ebp
mov ebp, dword [esi + 0x44]
mov dword [eax + 0x14], ebp
mov ebp, dword [esi + 0x2c]
mov dword [esi + 0x44], ebp
mov dword [esi + 0x2c], ecx
mov ebp, dword [eax + 0x1c]
mov ecx, dword [eax + 0xc]
mov dword [eax + 0xc], ebp
mov ebp, dword [esi + 0x3c]
mov dword [eax + 0x1c], ebp
mov ebp, dword [esi + 0x34]
mov dword [esi + 0x34], ecx
mov dword [esi + 0x3c], ebp
mov ecx, 0x100cf4f8
mov dword [esp + 0xa8], 0xc
lea ebx, [ebx]
mov ebp, dword [esp + 0x54]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x50]
add edx, edi
mov edi, dword [esp + 0x5c]
add edi, ebx
mov ebx, dword [esp + 0x18]
add ebp, ebx
mov ebx, dword [esp + 0x58]
mov dword [esp + 0x14], ebp
mov ebp, dword [esp + 0xc]
add ebx, ebp
mov dword [esp + 0x18], ebx
mov ebx, dword [esp + 0x20]
mov dword [esp + 0xc], ebx
mov ebp, dword [esp + 0x2c]
mov ebx, dword [esp + 0x60]
add ebx, ebp
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0x6c]
add ebx, ebp
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x2c], ebx
mov ebx, dword [esp + 0x68]
add ebx, ebp
mov ebp, dword [esp + 0xc]
mov dword [esp + 0x28], ebx
mov ebx, dword [esp + 0x64]
add ebx, ebp
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0x24], ebx
mov ebx, dword [esp + 0x30]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x70]
add ebx, ebp
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x30], ebx
mov ebx, dword [esp + 0x7c]
add ebx, ebp
mov ebp, dword [esp + 0x38]
mov dword [esp + 0x3c], ebx
mov ebx, dword [esp + 0x74]
add ebx, ebp
mov ebp, dword [esp + 0xc]
mov dword [esp + 0x34], ebx
mov ebx, dword [esp + 0x78]
add ebx, ebp
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x38], ebx
mov ebx, dword [esp + 0x40]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x80]
add ebx, ebp
mov ebp, dword [esp + 0x48]
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x8c]
add ebx, ebp
mov ebp, dword [esp + 0x44]
mov dword [esp + 0x4c], ebx
mov ebx, dword [esp + 0x88]
add ebx, ebp
mov ebp, dword [esp + 0xc]
xor dword [eax], edx
xor dword [eax + 0xc], edi
mov dword [esp + 0x48], ebx
mov ebx, dword [esp + 0x84]
add ebx, ebp
mov dword [esp + 0x44], ebx
mov ebx, dword [esp + 0x14]
xor dword [eax + 4], ebx
mov ebx, dword [esp + 0x18]
xor dword [eax + 8], ebx
mov ebx, dword [esp + 0x20]
xor dword [eax + 0x10], ebx
mov ebx, dword [esp + 0x24]
xor dword [eax + 0x14], ebx
mov ebx, dword [esp + 0x28]
xor dword [eax + 0x18], ebx
mov ebx, dword [esp + 0x2c]
xor dword [eax + 0x1c], ebx
mov ebp, dword [esp + 0x34]
xor dword [esi + 0x2c], ebp
mov ebp, dword [esp + 0x38]
xor dword [esi + 0x30], ebp
mov ebp, dword [esp + 0x3c]
xor dword [esi + 0x34], ebp
mov ebp, dword [esp + 0x40]
xor dword [esi + 0x38], ebp
mov ebp, dword [esp + 0x44]
xor dword [esi + 0x3c], ebp
mov ebp, dword [esp + 0x48]
xor dword [esi + 0x40], ebp
mov ebx, dword [esp + 0x30]
xor dword [esi + 0x28], ebx
mov ebx, dword [esi + 0x28]
mov ebp, dword [esp + 0x4c]
xor dword [esi + 0x44], ebp
add dword [eax], ebx
mov ebx, dword [esi + 0x2c]
add dword [eax + 4], ebx
mov ebx, dword [esi + 0x30]
add dword [eax + 8], ebx
mov ebx, dword [esi + 0x34]
add dword [eax + 0xc], ebx
mov ebx, dword [esi + 0x38]
add dword [eax + 0x10], ebx
mov ebx, dword [esi + 0x3c]
add dword [eax + 0x14], ebx
mov ebx, dword [esi + 0x40]
add dword [eax + 0x18], ebx
mov ebx, dword [esi + 0x44]
add dword [eax + 0x1c], ebx
mov ebx, dword [eax]
mov ebp, dword [eax + 4]
rol ebx, 0x1d
rol ebp, 0x1d
mov dword [eax + 4], ebp
mov dword [esp + 0xc], ebp
mov ebp, dword [eax + 8]
rol ebp, 0x1d
mov dword [eax + 8], ebp
mov dword [esp + 0xa0], ebp
mov ebp, dword [eax + 0xc]
rol ebp, 0x1d
mov dword [eax + 0xc], ebp
mov dword [esp + 0x9c], ebp
mov ebp, dword [eax + 0x10]
rol ebp, 0x1d
mov dword [eax + 0x10], ebp
mov dword [esp + 0x90], ebp
mov ebp, dword [eax + 0x14]
rol ebp, 0x1d
mov dword [eax + 0x14], ebp
mov dword [esp + 0x94], ebp
mov ebp, dword [eax + 0x18]
rol ebp, 0x1d
mov dword [eax + 0x18], ebp
mov dword [eax], ebx
mov dword [esp + 0x98], ebp
mov ebp, dword [eax + 0x1c]
rol ebp, 0x1d
mov dword [eax + 0x1c], ebp
mov dword [esp + 0xa4], ebp
mov ebp, dword [ecx - 8]
xor ebp, ebx
mov dword [eax], ebp
mov ebx, dword [ecx - 4]
xor ebx, dword [esp + 0xc]
mov dword [eax + 4], ebx
mov ebx, dword [ecx]
xor ebx, dword [esp + 0xa0]
mov dword [eax + 8], ebx
mov ebx, dword [ecx + 4]
xor ebx, dword [esp + 0x9c]
mov dword [eax + 0xc], ebx
mov ebx, dword [ecx + 8]
xor ebx, dword [esp + 0x90]
mov dword [eax + 0x10], ebx
mov ebx, dword [ecx + 0xc]
xor ebx, dword [esp + 0x94]
mov dword [eax + 0x14], ebx
mov ebx, dword [ecx + 0x10]
xor ebx, dword [esp + 0x98]
mov dword [eax + 0x18], ebx
mov ebx, dword [ecx + 0x14]
xor ebx, dword [esp + 0xa4]
mov dword [eax + 0x1c], ebx
mov ebx, ebp
add dword [esi + 0x28], ebx
mov ebx, dword [eax + 4]
add dword [esi + 0x2c], ebx
mov ebx, dword [eax + 8]
add dword [esi + 0x30], ebx
mov ebx, dword [eax + 0xc]
add dword [esi + 0x34], ebx
mov ebx, dword [eax + 0x10]
add dword [esi + 0x38], ebx
mov ebx, dword [eax + 0x14]
add dword [esi + 0x3c], ebx
mov ebx, dword [eax + 0x18]
add dword [esi + 0x40], ebx
mov ebx, dword [eax + 0x1c]
add dword [esi + 0x44], ebx
mov ebx, dword [esi + 0x28]
mov ebp, dword [esi + 0x2c]
rol ebx, 1
rol ebp, 1
mov dword [esi + 0x2c], ebp
mov ebp, dword [esi + 0x30]
rol ebp, 1
mov dword [esi + 0x30], ebp
mov ebp, dword [esi + 0x34]
rol ebp, 1
mov dword [esi + 0x34], ebp
mov ebp, dword [esi + 0x38]
rol ebp, 1
mov dword [esi + 0x38], ebp
mov ebp, dword [esi + 0x3c]
mov dword [esi + 0x28], ebx
rol ebp, 1
mov dword [esi + 0x3c], ebp
mov ebp, dword [esi + 0x40]
rol ebp, 1
mov dword [esi + 0x40], ebp
mov ebp, dword [esi + 0x44]
rol ebp, 1
mov dword [esi + 0x44], ebp
add dword [eax], ebx
mov ebx, dword [esi + 0x2c]
add dword [eax + 4], ebx
mov ebx, dword [esi + 0x30]
add dword [eax + 8], ebx
mov ebx, dword [esi + 0x34]
add dword [eax + 0xc], ebx
mov ebx, dword [esi + 0x38]
add dword [eax + 0x10], ebx
mov ebx, dword [esi + 0x3c]
add dword [eax + 0x14], ebx
mov ebx, dword [esi + 0x40]
add dword [eax + 0x18], ebx
mov ebx, dword [esi + 0x44]
add dword [eax + 0x1c], ebx
mov ebx, dword [esi + 0x2c]
rol ebx, 8
mov dword [esi + 0x2c], ebx
mov ebx, dword [esi + 0x30]
rol ebx, 0x10
mov dword [esi + 0x30], ebx
mov ebx, dword [esi + 0x34]
rol ebx, 0x18
mov dword [esi + 0x34], ebx
mov ebx, dword [esi + 0x38]
rol ebx, 0x18
mov dword [esi + 0x38], ebx
mov ebx, dword [esi + 0x3c]
rol ebx, 0x10
mov dword [esi + 0x3c], ebx
mov ebx, dword [esi + 0x40]
rol ebx, 8
mov dword [esi + 0x40], ebx
mov ebx, dword [eax]
mov ebp, dword [eax + 0x18]
mov dword [eax], ebp
mov ebp, dword [esi + 0x40]
mov dword [eax + 0x18], ebp
mov ebp, dword [esi + 0x30]
mov dword [esi + 0x40], ebp
mov ebp, dword [eax + 4]
mov dword [esi + 0x30], ebp
mov ebp, dword [eax + 0x10]
mov dword [eax + 4], ebp
mov ebp, dword [esi + 0x38]
mov dword [eax + 0x10], ebp
mov ebp, dword [esi + 0x28]
mov dword [esi + 0x38], ebp
mov ebp, dword [eax + 8]
mov dword [esi + 0x28], ebp
mov ebp, dword [eax + 0x14]
mov dword [eax + 8], ebp
mov ebp, dword [esi + 0x44]
mov dword [eax + 0x14], ebp
mov ebp, dword [esi + 0x2c]
mov dword [esi + 0x2c], ebx
mov dword [esi + 0x44], ebp
mov ebp, dword [eax + 0x1c]
mov ebx, dword [eax + 0xc]
mov dword [eax + 0xc], ebp
mov ebp, dword [esi + 0x3c]
mov dword [eax + 0x1c], ebp
mov ebp, dword [esi + 0x34]
mov dword [esi + 0x34], ebx
mov ebx, dword [esp + 0x50]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x5c]
add ebx, edx
mov dword [esp + 0x50], ebx
mov ebx, dword [esp + 0x54]
add ebx, edi
mov dword [esp + 0x5c], ebx
mov ebx, dword [esp + 0x58]
mov dword [esi + 0x3c], ebp
mov ebp, dword [esp + 0x14]
add ebx, ebp
mov ebp, dword [esp + 0xc]
mov dword [esp + 0x54], ebx
mov ebx, dword [esp + 0x18]
add ebx, ebp
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x58], ebx
mov ebx, dword [esp + 0x60]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x6c]
add ebx, ebp
mov ebp, dword [esp + 0x2c]
mov dword [esp + 0x60], ebx
mov ebx, dword [esp + 0x68]
add ebx, ebp
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x6c], ebx
mov ebx, dword [esp + 0x64]
add ebx, ebp
mov ebp, dword [esp + 0xc]
mov dword [esp + 0x68], ebx
mov ebx, dword [esp + 0x24]
add ebx, ebp
mov ebp, dword [esp + 0x30]
mov dword [esp + 0x64], ebx
mov ebx, dword [esp + 0x70]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x7c]
add ebx, ebp
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0x70], ebx
mov ebx, dword [esp + 0x74]
add ebx, ebp
mov ebp, dword [esp + 0x34]
mov dword [esp + 0x7c], ebx
mov ebx, dword [esp + 0x78]
add ebx, ebp
mov ebp, dword [esp + 0xc]
mov dword [esp + 0x74], ebx
mov ebx, dword [esp + 0x38]
add ebx, ebp
mov ebp, dword [esp + 0x40]
mov dword [esp + 0x78], ebx
mov ebx, dword [esp + 0x80]
mov dword [esp + 0xc], ebx
mov ebx, dword [esp + 0x8c]
add ebx, ebp
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x80], ebx
mov ebx, dword [esp + 0x88]
add ebx, ebp
mov ebp, dword [esp + 0x48]
mov dword [esp + 0x8c], ebx
mov ebx, dword [esp + 0x84]
add ebx, ebp
mov ebp, dword [esp + 0xc]
mov dword [esp + 0x88], ebx
mov ebx, dword [esp + 0x44]
add ebx, ebp
mov dword [esp + 0x84], ebx
mov ebx, dword [esp + 0x50]
xor dword [eax], ebx
mov ebx, dword [esp + 0x54]
xor dword [eax + 4], ebx
mov ebx, dword [esp + 0x58]
xor dword [eax + 8], ebx
mov ebx, dword [esp + 0x5c]
xor dword [eax + 0xc], ebx
mov ebx, dword [esp + 0x60]
xor dword [eax + 0x10], ebx
mov ebx, dword [esp + 0x64]
xor dword [eax + 0x14], ebx
mov ebx, dword [esp + 0x68]
xor dword [eax + 0x18], ebx
mov ebx, dword [esp + 0x6c]
xor dword [eax + 0x1c], ebx
mov ebp, dword [esp + 0x74]
xor dword [esi + 0x2c], ebp
mov ebp, dword [esp + 0x78]
xor dword [esi + 0x30], ebp
mov ebp, dword [esp + 0x7c]
xor dword [esi + 0x34], ebp
mov ebp, dword [esp + 0x80]
xor dword [esi + 0x38], ebp
mov ebp, dword [esp + 0x84]
xor dword [esi + 0x3c], ebp
mov ebp, dword [esp + 0x88]
xor dword [esi + 0x40], ebp
mov ebx, dword [esp + 0x70]
xor dword [esi + 0x28], ebx
mov ebx, dword [esi + 0x28]
mov ebp, dword [esp + 0x8c]
xor dword [esi + 0x44], ebp
add dword [eax], ebx
mov ebx, dword [esi + 0x2c]
add dword [eax + 4], ebx
mov ebx, dword [esi + 0x30]
add dword [eax + 8], ebx
mov ebx, dword [esi + 0x34]
add dword [eax + 0xc], ebx
mov ebx, dword [esi + 0x38]
add dword [eax + 0x10], ebx
mov ebx, dword [esi + 0x3c]
add dword [eax + 0x14], ebx
mov ebx, dword [esi + 0x40]
add dword [eax + 0x18], ebx
mov ebx, dword [esi + 0x44]
add dword [eax + 0x1c], ebx
mov ebx, dword [eax]
mov ebp, dword [eax + 4]
rol ebx, 5
rol ebp, 5
mov dword [esp + 0xa4], ebp
mov dword [eax + 4], ebp
mov ebp, dword [eax + 8]
rol ebp, 5
mov dword [esp + 0x98], ebp
mov dword [eax + 8], ebp
mov ebp, dword [eax + 0xc]
rol ebp, 5
mov dword [eax], ebx
mov dword [esp + 0x94], ebp
mov dword [eax + 0xc], ebp
mov ebp, dword [eax + 0x10]
rol ebp, 5
mov dword [eax + 0x10], ebp
mov dword [esp + 0x90], ebp
mov ebp, dword [eax + 0x14]
rol ebp, 5
mov dword [eax + 0x14], ebp
mov dword [esp + 0x9c], ebp
mov ebp, dword [eax + 0x18]
rol ebp, 5
mov dword [eax + 0x18], ebp
mov dword [esp + 0xa0], ebp
mov ebp, dword [eax + 0x1c]
rol ebp, 5
mov dword [eax + 0x1c], ebp
mov dword [esp + 0xc], ebp
mov ebp, dword [ecx + 0x18]
xor ebp, ebx
mov dword [eax], ebp
mov ebx, dword [ecx + 0x1c]
xor ebx, dword [esp + 0xa4]
mov dword [eax + 4], ebx
mov ebx, dword [ecx + 0x20]
xor ebx, dword [esp + 0x98]
mov dword [eax + 8], ebx
mov ebx, dword [ecx + 0x24]
xor ebx, dword [esp + 0x94]
mov dword [eax + 0xc], ebx
mov ebx, dword [ecx + 0x28]
xor ebx, dword [esp + 0x90]
mov dword [eax + 0x10], ebx
mov ebx, dword [ecx + 0x2c]
xor ebx, dword [esp + 0x9c]
mov dword [eax + 0x14], ebx
mov ebx, dword [ecx + 0x30]
xor ebx, dword [esp + 0xa0]
mov dword [eax + 0x18], ebx
mov ebx, dword [ecx + 0x34]
xor ebx, dword [esp + 0xc]
mov dword [eax + 0x1c], ebx
mov ebx, ebp
add dword [esi + 0x28], ebx
mov ebx, dword [eax + 4]
add dword [esi + 0x2c], ebx
mov ebx, dword [eax + 8]
add dword [esi + 0x30], ebx
mov ebx, dword [eax + 0xc]
add dword [esi + 0x34], ebx
mov ebx, dword [eax + 0x10]
add dword [esi + 0x38], ebx
mov ebx, dword [eax + 0x14]
add dword [esi + 0x3c], ebx
mov ebx, dword [eax + 0x18]
add dword [esi + 0x40], ebx
mov ebx, dword [eax + 0x1c]
add dword [esi + 0x44], ebx
mov ebx, dword [esi + 0x28]
mov ebp, dword [esi + 0x2c]
rol ebx, 0x11
rol ebp, 0x11
mov dword [esi + 0x2c], ebp
mov ebp, dword [esi + 0x30]
rol ebp, 0x11
mov dword [esi + 0x30], ebp
mov ebp, dword [esi + 0x34]
rol ebp, 0x11
mov dword [esi + 0x34], ebp
mov ebp, dword [esi + 0x38]
rol ebp, 0x11
mov dword [esi + 0x38], ebp
mov ebp, dword [esi + 0x3c]
rol ebp, 0x11
mov dword [esi + 0x3c], ebp
mov ebp, dword [esi + 0x40]
rol ebp, 0x11
mov dword [esi + 0x40], ebp
mov ebp, dword [esi + 0x44]
rol ebp, 0x11
mov dword [esi + 0x28], ebx
mov dword [esi + 0x44], ebp
add dword [eax], ebx
mov ebx, dword [esi + 0x2c]
add dword [eax + 4], ebx
mov ebx, dword [esi + 0x30]
add dword [eax + 8], ebx
mov ebx, dword [esi + 0x34]
add dword [eax + 0xc], ebx
mov ebx, dword [esi + 0x38]
add dword [eax + 0x10], ebx
mov ebx, dword [esi + 0x3c]
add dword [eax + 0x14], ebx
mov ebx, dword [esi + 0x40]
add dword [eax + 0x18], ebx
mov ebx, dword [esi + 0x44]
add dword [eax + 0x1c], ebx
mov ebx, dword [esi + 0x2c]
rol ebx, 8
mov dword [esi + 0x2c], ebx
mov ebx, dword [esi + 0x30]
rol ebx, 0x10
mov dword [esi + 0x30], ebx
mov ebx, dword [esi + 0x34]
rol ebx, 0x18
mov dword [esi + 0x34], ebx
mov ebx, dword [esi + 0x38]
rol ebx, 0x18
mov dword [esi + 0x38], ebx
mov ebx, dword [esi + 0x3c]
rol ebx, 0x10
mov dword [esi + 0x3c], ebx
mov ebx, dword [esi + 0x40]
rol ebx, 8
mov dword [esi + 0x40], ebx
mov ebp, dword [eax + 0x18]
mov ebx, dword [eax]
mov dword [eax], ebp
mov ebp, dword [esi + 0x40]
mov dword [eax + 0x18], ebp
mov ebp, dword [esi + 0x30]
mov dword [esi + 0x40], ebp
mov ebp, dword [eax + 4]
mov dword [esi + 0x30], ebp
mov ebp, dword [eax + 0x10]
mov dword [eax + 4], ebp
mov ebp, dword [esi + 0x38]
mov dword [eax + 0x10], ebp
mov ebp, dword [esi + 0x28]
mov dword [esi + 0x38], ebp
mov ebp, dword [eax + 8]
mov dword [esi + 0x28], ebp
mov ebp, dword [eax + 0x14]
mov dword [eax + 8], ebp
mov ebp, dword [esi + 0x44]
mov dword [eax + 0x14], ebp
mov ebp, dword [esi + 0x2c]
mov dword [esi + 0x44], ebp
mov dword [esi + 0x2c], ebx
mov ebp, dword [eax + 0x1c]
mov ebx, dword [eax + 0xc]
mov dword [eax + 0xc], ebp
mov ebp, dword [esi + 0x3c]
mov dword [eax + 0x1c], ebp
mov ebp, dword [esi + 0x34]
add ecx, 0x40
sub dword [esp + 0xa8], 1
mov dword [esi + 0x34], ebx
mov ebx, dword [esp + 0x14]
mov dword [esi + 0x3c], ebp
jne 0x100265a0
mov ecx, dword [esp + 0x50]
mov ebp, dword [esp + 0x18]
add edi, ecx
mov ecx, dword [esp + 0x5c]
add ecx, ebx
mov ebx, dword [esp + 0x54]
add ebx, ebp
mov ebp, dword [esp + 0x58]
add ebp, edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x60]
mov dword [esp + 0x18], ebp
mov ebp, dword [esp + 0x2c]
add edx, ebp
mov ebp, dword [esp + 0x28]
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x6c]
add edx, ebp
mov ebp, dword [esp + 0x24]
mov dword [esp + 0x2c], edx
mov edx, dword [esp + 0x68]
add edx, ebp
mov ebp, dword [esp + 0xc]
mov dword [esp + 0x28], edx
mov edx, dword [esp + 0x64]
add edx, ebp
mov ebp, dword [esp + 0x3c]
mov dword [esp + 0x24], edx
mov edx, dword [esp + 0x30]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x70]
add edx, ebp
mov ebp, dword [esp + 0x34]
xor dword [eax + 0xc], ecx
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0x7c]
add edx, ebp
mov ebp, dword [esp + 0x38]
mov ecx, dword [esp + 0x20]
xor dword [eax + 0x10], ecx
mov ecx, dword [esp + 0x24]
xor dword [eax + 0x14], ecx
mov dword [esp + 0x3c], edx
mov edx, dword [esp + 0x74]
add edx, ebp
mov ebp, dword [esp + 0xc]
mov ecx, dword [esp + 0x28]
xor dword [eax + 0x18], ecx
xor dword [eax], edi
mov ecx, dword [esp + 0x2c]
xor dword [eax + 0x1c], ecx
mov dword [esp + 0x34], edx
mov edx, dword [esp + 0x78]
add edx, ebp
mov ebp, dword [esp + 0x4c]
mov edi, dword [esp + 0x18]
mov ecx, dword [esp + 0x30]
xor dword [eax + 4], ebx
xor dword [eax + 8], edi
xor dword [esi + 0x28], ecx
mov ecx, dword [esp + 0x34]
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0xc], edx
mov edx, dword [esp + 0x80]
add edx, ebp
mov ebp, dword [esp + 0x48]
mov dword [esp + 0x40], edx
mov edx, dword [esp + 0x8c]
add edx, ebp
mov ebp, dword [esp + 0x44]
mov dword [esp + 0x4c], edx
mov edx, dword [esp + 0x88]
add edx, ebp
mov ebp, dword [esp + 0xc]
mov dword [esp + 0x48], edx
mov edx, dword [esp + 0x84]
add edx, ebp
xor dword [esi + 0x2c], ecx
mov ecx, dword [esp + 0x38]
xor dword [esi + 0x30], ecx
xor dword [esi + 0x3c], edx
mov ecx, dword [esp + 0x3c]
xor dword [esi + 0x34], ecx
mov ecx, dword [esp + 0x40]
xor dword [esi + 0x38], ecx
mov edx, dword [esp + 0x48]
xor dword [esi + 0x40], edx
mov ecx, dword [esp + 0x4c]
xor dword [esi + 0x44], ecx
mov edx, dword [esi + 0x28]
xor dword [eax], edx
mov ecx, dword [esi + 0x2c]
xor dword [esi + 0xc], ecx
mov edx, dword [esi + 0x30]
mov ecx, dword [esi + 0x34]
xor dword [esi + 0x14], ecx
xor dword [esi + 0x10], edx
mov edx, dword [esi + 0x38]
mov ecx, dword [esi + 0x3c]
xor dword [esi + 0x1c], ecx
xor dword [esi + 0x18], edx
mov ecx, dword [esi + 0x44]
mov edx, dword [esi + 0x40]
xor dword [esi + 0x24], ecx
xor dword [esi + 0x20], edx
mov ecx, dword [esi]
mov ebp, dword [esp + 0xb0]
movzx edi, cx
push edi
push eax
shr ecx, 0x18
push ebp
mov ebx, ecx
call fcn.1008d020
add esp, 0xc
test ebx, ebx
je 0x10026ea9
or dl, 0xff
mov ecx, ebx
shl dl, cl
and byte [edi + ebp - 1], dl
push 0xc8
push 0
push esi
call fcn.1008e320
add esp, 0xc
pop edi
pop ebp
xor eax, eax
pop ebx
add esp, 0xa0
ret
push 0x49
push 0x30000
call fcn.10024000
add esp, 8
add esp, 0xa0
ret