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

Disassembly:
sub esp, 8
push esi
mov esi, dword [esp + 0x14]
cmp esi, 0x100
mov edx, ecx
ja 0x43e8ef
push ebx
lea ecx, [esi + 0x1f]
shr ecx, 5
push ebp
xor eax, eax
test ecx, ecx
push edi
jbe 0x43dabc
mov edi, dword [esp + 0x1c]
lea esi, [edx + 4]
lea esp, [esp]
movzx ebx, word [edi + eax*4 + 2]
movzx ebp, word [edi + eax*4]
shl ebx, 0x10
or ebx, ebp
mov dword [esi], ebx
inc eax
add esi, 4
cmp eax, ecx
jb 0x43daa0
mov esi, dword [esp + 0x20]
cmp esi, 0x100
jae 0x43daf8
cmp eax, 8
jae 0x43dad8
mov ecx, 8
lea edi, [edx + eax*4 + 4]
sub ecx, eax
xor eax, eax
rep stosd dword es:[edi], eax
mov ecx, esi
mov eax, esi
and ecx, 0x1f
mov esi, 1
shl esi, cl
shr eax, 5
mov ebx, dword [edx + eax*4 + 4]
lea ecx, [esi - 1]
and ecx, ebx
or ecx, esi
mov dword [edx + eax*4 + 4], ecx
mov ecx, dword [edx + 0x14]
mov esi, dword [edx + 0x1c]
mov ebx, dword [edx + 0x18]
mov edi, dword [edx + 0x20]
mov eax, dword [edx + 0xc]
xor esi, ecx
mov ecx, dword [edx + 0x10]
xor edi, ebx
xor edi, ecx
xor esi, eax
xor esi, 0x9e3779b9
xor edi, 0x9e3779b9
xor ebx, ebx
lea ecx, [edx + 0x24]
mov eax, dword [ecx - 0x20]
mov ebp, dword [ecx - 0x18]
xor eax, edi
xor eax, ebx
ror eax, 0x15
xor ebp, eax
xor esi, ebp
mov ebp, dword [ecx - 0x1c]
mov dword [ecx], eax
lea eax, [ebx + 1]
xor eax, ebp
mov ebp, dword [ecx - 0x14]
xor eax, esi
ror eax, 0x15
xor ebp, eax
mov dword [ecx + 4], eax
add ebx, 2
xor edi, ebp
add ecx, 8
cmp ebx, 0x84
jb 0x43db23
mov eax, dword [edx + 0x30]
mov edi, dword [edx + 0x24]
mov ecx, dword [edx + 0x2c]
mov ebp, dword [edx + 0x28]
mov esi, eax
xor esi, ecx
xor esi, edi
mov ebx, edi
and ebx, esi
mov ecx, ebx
xor ecx, eax
mov dword [esp + 0x20], ecx
and ecx, ebp
xor ecx, esi
mov esi, eax
or esi, ebp
mov ebp, dword [esp + 0x20]
or eax, edi
mov dword [esp + 0x1c], esi
mov esi, ecx
or esi, edi
mov edi, dword [esp + 0x1c]
and esi, ebp
xor eax, dword [edx + 0x28]
mov ebp, edi
xor ebp, ebx
and ebp, dword [edx + 0x2c]
xor ebp, eax
xor eax, esi
xor eax, ecx
mov ebx, esi
xor ebx, edi
mov edi, dword [edx + 0x38]
mov dword [edx + 0x2c], ecx
mov dword [edx + 0x30], eax
mov eax, dword [edx + 0x40]
mov ecx, eax
xor ecx, edi
mov dword [edx + 0x24], ebp
mov ebp, dword [edx + 0x3c]
mov dword [edx + 0x28], ebx
mov ebx, dword [edx + 0x34]
not ebx
mov dword [esp + 0x1c], ecx
mov esi, ebp
and esi, ebx
xor esi, ecx
mov dword [esp + 0x20], ebp
mov ecx, esi
xor ecx, dword [esp + 0x20]
xor ebp, ebx
and ecx, edi
mov edi, ecx
xor edi, ebp
or ecx, eax
mov dword [esp + 0x20], edi
mov edi, esi
or edi, ebp
mov ebp, dword [edx + 0x34]
and edi, ecx
mov ecx, dword [esp + 0x20]
or eax, ebx
mov ebx, dword [edx + 0x48]
xor eax, ecx
xor edi, ebp
xor eax, edi
mov dword [edx + 0x34], esi
xor eax, dword [esp + 0x1c]
mov esi, dword [edx + 0x50]
mov dword [edx + 0x38], eax
mov eax, dword [edx + 0x44]
mov dword [edx + 0x40], ecx
mov ecx, eax
not ecx
xor ecx, ebx
mov dword [edx + 0x3c], edi
mov edi, dword [edx + 0x4c]
or eax, ecx
xor eax, edi
mov edi, eax
xor edi, esi
or esi, ecx
xor esi, ebx
mov ebx, edi
xor ebx, ecx
mov ecx, esi
and ecx, eax
xor esi, eax
xor ecx, ebx
mov ebp, esi
and ebp, ebx
xor ebp, eax
mov eax, ecx
xor eax, esi
mov esi, dword [edx + 0x60]
mov dword [edx + 0x48], eax
mov eax, dword [edx + 0x54]
mov dword [edx + 0x4c], edi
mov dword [esp + 0x1c], eax
mov dword [edx + 0x44], ebp
mov ebp, dword [edx + 0x5c]
mov dword [edx + 0x50], ecx
mov ecx, dword [edx + 0x58]
mov edi, esi
and esi, dword [esp + 0x1c]
xor edi, eax
mov eax, ebp
xor eax, edi
mov ebx, eax
xor ebx, ecx
and ecx, edi
xor ecx, dword [esp + 0x1c]
mov edi, ecx
xor edi, eax
xor esi, ebx
and edi, esi
mov dword [esp + 0x20], esi
mov esi, ecx
or ecx, ebp
xor ecx, ebx
not eax
xor eax, edi
not esi
xor esi, edi
mov edi, dword [edx + 0x70]
mov dword [edx + 0x58], eax
mov eax, dword [edx + 0x6c]
mov ebx, eax
mov dword [edx + 0x5c], ecx
mov ecx, dword [esp + 0x20]
mov dword [edx + 0x54], esi
mov esi, dword [edx + 0x68]
xor eax, esi
mov ebp, eax
mov dword [edx + 0x60], ecx
mov ecx, dword [edx + 0x64]
not ebx
or esi, ebx
mov eax, esi
xor eax, edi
mov edi, eax
and edi, ecx
mov dword [esp + 0x1c], ebp
mov ecx, edi
xor ecx, ebp
mov ebp, dword [edx + 0x68]
mov dword [esp + 0x20], ecx
mov ecx, edi
xor ecx, ebp
or ecx, dword [esp + 0x1c]
xor ecx, dword [edx + 0x70]
xor ecx, dword [edx + 0x64]
mov ebp, ecx
xor ebp, edi
mov dword [esp + 0x1c], ebp
mov edi, dword [esp + 0x20]
or eax, ebx
and edi, ebp
mov ebp, dword [edx + 0x70]
mov ebx, dword [edx + 0x7c]
and esi, ebp
xor eax, dword [esp + 0x1c]
mov ebp, dword [edx + 0x80]
xor edi, esi
xor eax, edi
mov dword [edx + 0x64], eax
mov eax, dword [esp + 0x20]
mov dword [edx + 0x70], eax
mov eax, dword [edx + 0x74]
mov dword [edx + 0x68], ecx
mov ecx, dword [edx + 0x78]
mov esi, ebp
xor esi, eax
not eax
or eax, esi
xor eax, ebx
mov ebx, eax
xor ebx, ecx
mov dword [edx + 0x6c], edi
mov edi, ecx
xor edi, esi
mov ecx, ebx
or ecx, esi
xor ecx, ebp
mov esi, ecx
xor ecx, eax
and esi, eax
mov ebp, ecx
and ecx, edi
not eax
xor ecx, eax
xor esi, edi
xor ebp, esi
mov dword [edx + 0x80], ecx
mov ecx, dword [edx + 0x84]
mov dword [edx + 0x78], ebx
mov ebx, dword [edx + 0x90]
mov eax, ebx
xor eax, ecx
mov dword [esp + 0x20], eax
mov dword [edx + 0x7c], esi
mov esi, dword [edx + 0x88]
mov dword [edx + 0x74], ebp
mov ebp, ecx
mov dword [esp + 0x1c], esi
xor esi, ecx
mov ecx, dword [edx + 0x8c]
or eax, esi
xor eax, ecx
not ebp
xor eax, ebp
mov edi, eax
and edi, ebx
mov ecx, eax
or ecx, ebp
mov ebp, dword [esp + 0x20]
mov ebx, eax
mov dword [edx + 0x84], eax
xor ebx, edi
xor ecx, ebp
mov ebp, dword [edx + 0x94]
mov eax, edi
or eax, esi
xor eax, ecx
xor ebx, esi
and ecx, ebx
xor ecx, edi
xor ecx, dword [esp + 0x1c]
mov edi, dword [edx + 0x98]
mov dword [edx + 0x8c], eax
mov eax, dword [edx + 0xa0]
mov dword [edx + 0x88], ebx
mov dword [edx + 0x90], ecx
mov dword [esp + 0x1c], ebp
mov esi, dword [edx + 0x9c]
mov ecx, eax
xor ecx, ebp
and eax, ecx
xor eax, esi
mov esi, eax
or esi, edi
mov dword [esp + 0x20], eax
not edi
mov ebx, edi
or ebx, ecx
xor ebx, eax
xor edi, ecx
mov eax, edi
and eax, esi
mov dword [esp + 0x10], eax
mov eax, ebx
and eax, ebp
xor esi, ecx
mov ecx, dword [edx + 0xac]
mov ebp, eax
mov eax, dword [esp + 0x10]
xor eax, ebp
mov ebp, dword [esp + 0x20]
and edi, eax
xor edi, ebp
mov ebp, dword [edx + 0xa8]
mov dword [edx + 0x94], ebx
xor edi, dword [esp + 0x1c]
mov dword [edx + 0xa0], esi
mov dword [edx + 0x9c], eax
mov eax, dword [edx + 0xb0]
mov esi, eax
xor esi, ecx
mov dword [edx + 0x98], edi
mov edi, dword [edx + 0xa4]
xor esi, edi
mov ebx, edi
and ebx, esi
mov ecx, ebx
xor ecx, eax
mov dword [esp + 0x20], ecx
and ecx, ebp
xor ecx, esi
mov esi, eax
or esi, ebp
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x1c], esi
mov esi, ecx
or esi, edi
and esi, ebp
mov ebp, dword [edx + 0xa8]
or eax, edi
mov edi, dword [esp + 0x1c]
xor eax, ebp
mov ebp, edi
xor ebp, ebx
and ebp, dword [edx + 0xac]
xor ebp, eax
xor eax, esi
xor eax, ecx
mov ebx, esi
xor ebx, edi
mov edi, dword [edx + 0xb8]
mov dword [edx + 0xb0], eax
mov eax, dword [edx + 0xc0]
mov dword [edx + 0xa8], ebx
mov ebx, dword [edx + 0xb4]
mov dword [edx + 0xac], ecx
mov dword [edx + 0xa4], ebp
mov ebp, dword [edx + 0xbc]
mov ecx, eax
xor ecx, edi
not ebx
mov esi, ebp
mov dword [esp + 0x20], ebp
mov dword [esp + 0x1c], ecx
and esi, ebx
xor esi, ecx
mov ecx, esi
xor ecx, dword [esp + 0x20]
xor ebp, ebx
and ecx, edi
mov edi, ecx
or ecx, eax
xor edi, ebp
mov dword [esp + 0x20], edi
or eax, ebx
mov ebx, dword [edx + 0xc8]
mov edi, esi
or edi, ebp
mov ebp, dword [edx + 0xb4]
and edi, ecx
mov ecx, dword [esp + 0x20]
xor eax, ecx
xor edi, ebp
xor eax, edi
mov dword [edx + 0xb4], esi
xor eax, dword [esp + 0x1c]
mov esi, dword [edx + 0xd0]
mov dword [edx + 0xb8], eax
mov eax, dword [edx + 0xc4]
mov dword [edx + 0xc0], ecx
mov ecx, eax
not ecx
xor ecx, ebx
or eax, ecx
mov dword [edx + 0xbc], edi
xor eax, dword [edx + 0xcc]
mov edi, eax
xor edi, esi
or esi, ecx
xor esi, ebx
mov ebx, edi
xor ebx, ecx
mov ecx, esi
xor esi, eax
and ecx, eax
mov ebp, esi
xor ecx, ebx
and ebp, ebx
xor ebp, eax
mov eax, ecx
xor eax, esi
mov esi, dword [edx + 0xe0]
mov dword [edx + 0xcc], edi
mov dword [edx + 0xc8], eax
mov eax, dword [edx + 0xd4]
mov edi, esi
xor edi, eax
mov dword [esp + 0x1c], eax
and esi, dword [esp + 0x1c]
mov dword [edx + 0xc4], ebp
mov ebp, dword [edx + 0xdc]
mov dword [edx + 0xd0], ecx
mov ecx, dword [edx + 0xd8]
mov eax, ebp
xor eax, edi
mov ebx, eax
xor ebx, ecx
and ecx, edi
xor ecx, dword [esp + 0x1c]
xor esi, ebx
mov edi, ecx
xor edi, eax
and edi, esi
mov dword [esp + 0x20], esi
mov esi, ecx
not esi
not eax
xor esi, edi
xor eax, edi
or ecx, ebp
mov dword [edx + 0xd4], esi
mov dword [edx + 0xd8], eax
xor ecx, ebx
mov eax, dword [edx + 0xec]
mov esi, dword [edx + 0xe8]
mov edi, dword [edx + 0xf0]
mov ebx, eax
xor eax, esi
mov dword [edx + 0xdc], ecx
mov ecx, dword [esp + 0x20]
mov ebp, eax
mov dword [edx + 0xe0], ecx
mov ecx, dword [edx + 0xe4]
not ebx
or esi, ebx
mov eax, esi
xor eax, edi
mov edi, eax
and edi, ecx
mov dword [esp + 0x1c], ebp
mov ecx, edi
xor ecx, ebp
mov ebp, dword [edx + 0xe8]
mov dword [esp + 0x20], ecx
mov ecx, edi
xor ecx, ebp
or ecx, dword [esp + 0x1c]
xor ecx, dword [edx + 0xf0]
xor ecx, dword [edx + 0xe4]
mov ebp, ecx
xor ebp, edi
mov edi, dword [esp + 0x20]
and edi, ebp
or eax, ebx
mov ebx, dword [edx + 0xfc]
mov dword [esp + 0x1c], ebp
and esi, dword [edx + 0xf0]
xor eax, dword [esp + 0x1c]
mov ebp, dword [edx + 0x100]
xor edi, esi
xor eax, edi
mov dword [edx + 0xe4], eax
mov eax, dword [esp + 0x20]
mov dword [edx + 0xf0], eax
mov eax, dword [edx + 0xf4]
mov esi, ebp
xor esi, eax
mov dword [edx + 0xe8], ecx
mov ecx, dword [edx + 0xf8]
not eax
or eax, esi
xor eax, ebx
mov ebx, eax
xor ebx, ecx
mov dword [edx + 0xec], edi
mov edi, ecx
mov ecx, ebx
or ecx, esi
xor ecx, ebp
xor edi, esi
mov esi, ecx
xor ecx, eax
and esi, eax
xor esi, edi
mov ebp, ecx
xor ebp, esi
and ecx, edi
not eax
xor ecx, eax
mov dword [edx + 0x100], ecx
mov ecx, dword [edx + 0x104]
mov dword [edx + 0xf4], ebp
mov dword [edx + 0xfc], esi
mov esi, dword [edx + 0x108]
mov ebp, ecx
mov dword [edx + 0xf8], ebx
mov ebx, dword [edx + 0x110]
mov dword [esp + 0x1c], esi
not ebp
xor esi, ecx
mov eax, ebx
xor eax, ecx
mov ecx, dword [edx + 0x10c]
mov dword [esp + 0x20], eax
or eax, esi
xor eax, ecx
xor eax, ebp
mov edi, eax
and edi, ebx
mov ecx, eax
or ecx, ebp
mov ebp, dword [esp + 0x20]
mov ebx, eax
xor ebx, edi
xor ebx, esi
xor ecx, ebp
mov ebp, dword [edx + 0x114]
mov dword [edx + 0x104], eax
mov eax, edi
or eax, esi
xor eax, ecx
mov esi, dword [edx + 0x11c]
and ecx, ebx
xor ecx, edi
xor ecx, dword [esp + 0x1c]
mov edi, dword [edx + 0x118]
mov dword [edx + 0x10c], eax
mov eax, dword [edx + 0x120]
mov dword [edx + 0x110], ecx
mov ecx, eax
xor ecx, ebp
and eax, ecx
xor eax, esi
mov esi, eax
or esi, edi
not edi
mov dword [edx + 0x108], ebx
mov ebx, edi
or ebx, ecx
xor ebx, eax
xor edi, ecx
mov dword [esp + 0x20], eax
mov eax, edi
and eax, esi
mov dword [esp + 0x14], eax
mov eax, ebx
and eax, ebp
mov dword [esp + 0x1c], ebp
mov ebp, eax
mov eax, dword [esp + 0x14]
xor esi, ecx
mov ecx, dword [edx + 0x12c]
xor eax, ebp
mov ebp, dword [esp + 0x20]
and edi, eax
mov dword [edx + 0x114], ebx
mov ebx, dword [esp + 0x1c]
xor edi, ebp
mov ebp, dword [edx + 0x128]
xor edi, ebx
mov dword [edx + 0x120], esi
mov dword [edx + 0x11c], eax
mov eax, dword [edx + 0x130]
mov esi, eax
xor esi, ecx
mov dword [edx + 0x118], edi
mov edi, dword [edx + 0x124]
xor esi, edi
mov ebx, edi
and ebx, esi
mov ecx, ebx
xor ecx, eax
mov dword [esp + 0x20], ecx
and ecx, ebp
xor ecx, esi
mov esi, eax
or esi, ebp
mov dword [esp + 0x1c], esi
mov ebp, dword [esp + 0x20]
or eax, edi
mov esi, ecx
or esi, edi
mov edi, dword [esp + 0x1c]
and esi, ebp
xor eax, dword [edx + 0x128]
mov ebp, edi
xor ebp, ebx
and ebp, dword [edx + 0x12c]
xor ebp, eax
xor eax, esi
xor eax, ecx
mov ebx, esi
xor ebx, edi
mov edi, dword [edx + 0x138]
mov dword [edx + 0x12c], ecx
mov dword [edx + 0x130], eax
mov eax, dword [edx + 0x140]
mov ecx, eax
xor ecx, edi
mov dword [edx + 0x124], ebp
mov ebp, dword [edx + 0x13c]
mov dword [edx + 0x128], ebx
mov ebx, dword [edx + 0x134]
mov dword [esp + 0x1c], ecx
not ebx
mov esi, ebp
and esi, ebx
xor esi, ecx
mov dword [esp + 0x20], ebp
mov ecx, esi
xor ecx, dword [esp + 0x20]
xor ebp, ebx
and ecx, edi
mov edi, ecx
xor edi, ebp
or ecx, eax
mov dword [esp + 0x20], edi
mov edi, esi
or edi, ebp
mov ebp, dword [edx + 0x134]
and edi, ecx
mov ecx, dword [esp + 0x20]
or eax, ebx
mov ebx, dword [edx + 0x148]
xor eax, ecx
xor edi, ebp
xor eax, edi
mov dword [edx + 0x134], esi
xor eax, dword [esp + 0x1c]
mov esi, dword [edx + 0x150]
mov dword [edx + 0x138], eax
mov eax, dword [edx + 0x144]
mov dword [edx + 0x140], ecx
mov ecx, eax
not ecx
xor ecx, ebx
or eax, ecx
mov dword [edx + 0x13c], edi
xor eax, dword [edx + 0x14c]
mov edi, eax
xor edi, esi
or esi, ecx
xor esi, ebx
mov ebx, edi
xor ebx, ecx
mov ecx, esi
xor esi, eax
and ecx, eax
mov ebp, esi
and ebp, ebx
xor ecx, ebx
xor ebp, eax
mov eax, ecx
mov dword [edx + 0x144], ebp
xor eax, esi
mov esi, dword [edx + 0x160]
mov ebp, dword [edx + 0x15c]
mov dword [edx + 0x148], eax
mov eax, dword [edx + 0x154]
mov dword [esp + 0x1c], eax
mov dword [edx + 0x14c], edi
mov dword [edx + 0x150], ecx
mov ecx, dword [edx + 0x158]
mov edi, esi
and esi, dword [esp + 0x1c]
xor edi, eax
mov eax, ebp
xor eax, edi
mov ebx, eax
xor ebx, ecx
and ecx, edi
xor ecx, dword [esp + 0x1c]
mov edi, ecx
xor edi, eax
xor esi, ebx
and edi, esi
not eax
xor eax, edi
mov dword [esp + 0x20], esi
mov esi, ecx
or ecx, ebp
xor ecx, ebx
mov dword [edx + 0x158], eax
mov eax, dword [edx + 0x16c]
mov ebx, eax
not esi
xor esi, edi
mov edi, dword [edx + 0x170]
mov dword [edx + 0x15c], ecx
mov ecx, dword [esp + 0x20]
mov dword [edx + 0x154], esi
mov esi, dword [edx + 0x168]
xor eax, esi
mov ebp, eax
mov dword [edx + 0x160], ecx
mov ecx, dword [edx + 0x164]
not ebx
or esi, ebx
mov eax, esi
xor eax, edi
mov edi, eax
and edi, ecx
mov dword [esp + 0x1c], ebp
mov ecx, edi
xor ecx, ebp
mov ebp, dword [edx + 0x168]
mov dword [esp + 0x20], ecx
mov ecx, edi
xor ecx, ebp
or ecx, dword [esp + 0x1c]
xor ecx, dword [edx + 0x170]
xor ecx, dword [edx + 0x164]
mov ebp, ecx
xor ebp, edi
mov edi, dword [esp + 0x20]
and edi, ebp
mov dword [esp + 0x1c], ebp
and esi, dword [edx + 0x170]
mov ebp, dword [esp + 0x1c]
or eax, ebx
xor eax, ebp
mov ebp, dword [edx + 0x180]
xor edi, esi
xor eax, edi
mov dword [edx + 0x164], eax
mov eax, dword [esp + 0x20]
mov dword [edx + 0x168], ecx
mov ecx, dword [edx + 0x178]
mov dword [edx + 0x170], eax
mov eax, dword [edx + 0x174]
mov dword [edx + 0x16c], edi
mov ebx, dword [edx + 0x17c]
mov esi, ebp
xor esi, eax
not eax
or eax, esi
xor eax, ebx
mov ebx, eax
xor ebx, ecx
mov edi, ecx
xor edi, esi
mov ecx, ebx
or ecx, esi
xor ecx, ebp
mov esi, ecx
xor ecx, eax
and esi, eax
not eax
xor esi, edi
mov ebp, ecx
and ecx, edi
xor ecx, eax
mov dword [edx + 0x180], ecx
mov ecx, dword [edx + 0x184]
mov dword [edx + 0x178], ebx
xor ebp, esi
mov dword [edx + 0x17c], esi
mov esi, dword [edx + 0x188]
mov dword [edx + 0x174], ebp
mov ebx, dword [edx + 0x190]
mov eax, ebx
xor eax, ecx
mov dword [esp + 0x20], eax
mov ebp, ecx
mov dword [esp + 0x1c], esi
xor esi, ecx
mov ecx, dword [edx + 0x18c]
or eax, esi
xor eax, ecx
not ebp
xor eax, ebp
mov dword [edx + 0x184], eax
mov edi, eax
and edi, ebx
mov ecx, eax
mov ebx, eax
or ecx, ebp
mov ebp, dword [esp + 0x20]
xor ebx, edi
xor ebx, esi
xor ecx, ebp
mov eax, edi
or eax, esi
xor eax, ecx
and ecx, ebx
xor ecx, edi
mov edi, dword [esp + 0x1c]
mov dword [edx + 0x188], ebx
mov dword [edx + 0x18c], eax
xor ecx, edi
mov dword [edx + 0x190], ecx
mov eax, dword [edx + 0x1a0]
mov ebp, dword [edx + 0x194]
mov esi, dword [edx + 0x19c]
mov edi, dword [edx + 0x198]
mov ecx, eax
xor ecx, ebp
and eax, ecx
xor eax, esi
mov esi, eax
or esi, edi
not edi
mov ebx, edi
or ebx, ecx
mov dword [esp + 0x20], eax
xor ebx, eax
xor edi, ecx
mov eax, edi
and eax, esi
mov dword [esp + 0x14], eax
mov dword [esp + 0x1c], ebp
mov eax, ebx
and eax, ebp
mov dword [edx + 0x194], ebx
mov ebx, dword [esp + 0x1c]
xor esi, ecx
mov ebp, eax
mov eax, dword [esp + 0x14]
xor eax, ebp
mov ebp, dword [esp + 0x20]
and edi, eax
xor edi, ebp
xor edi, ebx
mov dword [edx + 0x198], edi
mov dword [edx + 0x19c], eax
mov dword [edx + 0x1a0], esi
mov eax, dword [edx + 0x1b0]
mov edi, dword [edx + 0x1a4]
mov ecx, dword [edx + 0x1ac]
mov ebp, dword [edx + 0x1a8]
mov esi, eax
xor esi, ecx
xor esi, edi
mov ebx, edi
and ebx, esi
mov ecx, ebx
xor ecx, eax
mov dword [esp + 0x20], ecx
and ecx, ebp
xor ecx, esi
mov esi, eax
or esi, ebp
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x1c], esi
mov esi, ecx
or esi, edi
and esi, ebp
mov ebp, dword [edx + 0x1a8]
or eax, edi
mov edi, dword [esp + 0x1c]
xor eax, ebp
mov ebp, edi
xor ebp, ebx
and ebp, dword [edx + 0x1ac]
xor ebp, eax
mov dword [edx + 0x1a4], ebp
mov ebx, esi
xor ebx, edi
mov dword [edx + 0x1a8], ebx
mov dword [edx + 0x1ac], ecx
xor eax, esi
xor eax, ecx
mov dword [edx + 0x1b0], eax
mov ebp, dword [edx + 0x1bc]
mov eax, dword [edx + 0x1c0]
mov ebx, dword [edx + 0x1b4]
mov edi, dword [edx + 0x1b8]
not ebx
mov esi, ebp
mov ecx, eax
xor ecx, edi
mov dword [esp + 0x1c], ecx
and esi, ebx
xor esi, ecx
mov dword [esp + 0x20], ebp
mov ecx, esi
xor ecx, dword [esp + 0x20]
xor ebp, ebx
and ecx, edi
mov edi, ecx
xor edi, ebp
mov dword [esp + 0x20], edi
mov edi, esi
or edi, ebp
mov ebp, dword [edx + 0x1b4]
or ecx, eax
and edi, ecx
mov ecx, dword [esp + 0x20]
xor edi, ebp
mov dword [edx + 0x1b4], esi
or eax, ebx
mov esi, dword [esp + 0x1c]
xor eax, ecx
xor eax, edi
xor eax, esi
mov dword [edx + 0x1b8], eax
mov dword [edx + 0x1bc], edi
mov dword [edx + 0x1c0], ecx
mov eax, dword [edx + 0x1c4]
mov ebx, dword [edx + 0x1c8]
mov edi, dword [edx + 0x1cc]
mov esi, dword [edx + 0x1d0]
mov ecx, eax
not ecx
xor ecx, ebx
or eax, ecx
xor eax, edi
mov edi, eax
xor edi, esi
or esi, ecx
xor esi, ebx
mov ebx, edi
xor ebx, ecx
mov ecx, esi
xor esi, eax
and ecx, eax
xor ecx, ebx
mov ebp, esi
and ebp, ebx
xor ebp, eax
mov dword [edx + 0x1c4], ebp
mov eax, ecx
xor eax, esi
mov dword [edx + 0x1c8], eax
mov dword [edx + 0x1cc], edi
mov dword [edx + 0x1d0], ecx
mov esi, dword [edx + 0x1e0]
mov eax, dword [edx + 0x1d4]
mov ebp, dword [edx + 0x1dc]
mov ecx, dword [edx + 0x1d8]
mov dword [esp + 0x1c], eax
mov edi, esi
and esi, dword [esp + 0x1c]
xor edi, eax
mov eax, ebp
xor eax, edi
mov ebx, eax
xor ebx, ecx
and ecx, edi
xor ecx, dword [esp + 0x1c]
xor esi, ebx
mov edi, ecx
xor edi, eax
and edi, esi
mov dword [esp + 0x20], esi
mov esi, ecx
not eax
xor eax, edi
not esi
xor esi, edi
mov dword [edx + 0x1d4], esi
mov dword [edx + 0x1d8], eax
or ecx, ebp
xor ecx, ebx
mov dword [edx + 0x1dc], ecx
mov ecx, dword [esp + 0x20]
mov dword [edx + 0x1e0], ecx
mov eax, dword [edx + 0x1ec]
mov esi, dword [edx + 0x1e8]
mov edi, dword [edx + 0x1f0]
mov ecx, dword [edx + 0x1e4]
mov ebx, eax
xor eax, esi
not ebx
mov ebp, eax
or esi, ebx
mov eax, esi
xor eax, edi
mov edi, eax
mov dword [esp + 0x1c], ebp
and edi, ecx
mov ecx, edi
xor ecx, ebp
mov ebp, dword [edx + 0x1e8]
mov dword [esp + 0x20], ecx
mov ecx, edi
xor ecx, ebp
or ecx, dword [esp + 0x1c]
xor ecx, dword [edx + 0x1f0]
xor ecx, dword [edx + 0x1e4]
mov ebp, ecx
xor ebp, edi
mov edi, dword [esp + 0x20]
or eax, ebx
and edi, ebp
mov dword [esp + 0x1c], ebp
and esi, dword [edx + 0x1f0]
xor eax, dword [esp + 0x1c]
xor edi, esi
xor eax, edi
mov dword [edx + 0x1e4], eax
mov eax, dword [esp + 0x20]
mov dword [edx + 0x1e8], ecx
mov dword [edx + 0x1ec], edi
mov dword [edx + 0x1f0], eax
mov ebp, dword [edx + 0x200]
mov eax, dword [edx + 0x1f4]
mov ebx, dword [edx + 0x1fc]
mov ecx, dword [edx + 0x1f8]
mov esi, ebp
xor esi, eax
not eax
or eax, esi
xor eax, ebx
mov edi, ecx
mov ebx, eax
xor ebx, ecx
mov ecx, ebx
or ecx, esi
xor ecx, ebp
xor edi, esi
mov esi, ecx
xor ecx, eax
and esi, eax
mov ebp, ecx
xor esi, edi
xor ebp, esi
mov dword [edx + 0x1f4], ebp
and ecx, edi
mov dword [edx + 0x1f8], ebx
not eax
xor ecx, eax
mov dword [edx + 0x1fc], esi
mov dword [edx + 0x200], ecx
mov ebx, dword [edx + 0x210]
mov ecx, dword [edx + 0x204]
mov esi, dword [edx + 0x208]
mov eax, ebx
xor eax, ecx
mov ebp, ecx
mov dword [esp + 0x20], eax
mov dword [esp + 0x1c], esi
xor esi, ecx
mov ecx, dword [edx + 0x20c]
or eax, esi
xor eax, ecx
not ebp
xor eax, ebp
mov edi, eax
and edi, ebx
mov ebx, eax
mov ecx, eax
xor ebx, edi
or ecx, ebp
mov ebp, dword [esp + 0x20]
xor ebx, esi
xor ecx, ebp
mov dword [edx + 0x204], eax
mov dword [edx + 0x208], ebx
mov eax, edi
or eax, esi
xor eax, ecx
mov dword [edx + 0x20c], eax
and ecx, ebx
xor ecx, edi
xor ecx, dword [esp + 0x1c]
mov dword [edx + 0x210], ecx
mov ebp, dword [edx + 0x214]
mov eax, dword [edx + 0x220]
mov esi, dword [edx + 0x21c]
mov edi, dword [edx + 0x218]
mov ecx, eax
xor ecx, ebp
and eax, ecx
xor eax, esi
mov esi, eax
or esi, edi
not edi
mov dword [esp + 0x20], eax
mov ebx, edi
or ebx, ecx
xor ebx, eax
xor edi, ecx
mov eax, edi
and eax, esi
mov dword [esp + 0x14], eax
mov eax, ebx
and eax, ebp
mov dword [esp + 0x1c], ebp
mov dword [edx + 0x214], ebx
mov ebx, dword [esp + 0x1c]
mov ebp, eax
mov eax, dword [esp + 0x14]
xor eax, ebp
mov ebp, dword [esp + 0x20]
xor esi, ecx
and edi, eax
xor edi, ebp
xor edi, ebx
mov dword [edx + 0x218], edi
mov dword [edx + 0x21c], eax
mov dword [edx + 0x220], esi
mov eax, dword [edx + 0x230]
mov edi, dword [edx + 0x224]
mov ecx, dword [edx + 0x22c]
mov ebp, dword [edx + 0x228]
mov esi, eax
xor esi, ecx
xor esi, edi
mov ebx, edi
and ebx, esi
mov ecx, ebx
xor ecx, eax
mov dword [esp + 0x20], ecx
and ecx, ebp
xor ecx, esi
mov esi, eax
or esi, ebp
mov ebp, dword [esp + 0x20]
mov dword [esp + 0x1c], esi
mov esi, ecx
or esi, edi
and esi, ebp
mov ebp, dword [edx + 0x228]
or eax, edi
mov edi, dword [esp + 0x1c]
xor eax, ebp
mov ebp, edi
xor ebp, ebx
and ebp, dword [edx + 0x22c]
xor ebp, eax
mov ebx, esi
xor ebx, edi
mov dword [edx + 0x224], ebp
mov dword [edx + 0x228], ebx
pop edi
xor eax, esi
xor eax, ecx
pop ebp
mov dword [edx + 0x22c], ecx
mov dword [edx + 0x230], eax
pop ebx
pop esi
add esp, 8
ret 0xc