Function at 0x404220
Capabilities:
Encode data using xor
Encrypt data using hc-128

Disassembly:
push ebp
mov ebp, esp
sub esp, 0x124
push ebx
push esi
mov esi, ecx
push edi
lea edi, [ebp - 0x124]
mov dword [ebp - 0x1c], 0x10
lea ebx, [esi + 0x28]
push edi
push ebx
call fcn.0040572c
pop ecx
add edi, 4
add ebx, 4
dec dword [ebp - 0x1c]
pop ecx
jne 0x40423e
lea eax, [ebp - 0x120]
mov dword [ebp - 0x24], 0x30
mov ecx, dword [eax + 0x34]
mov dword [ebp - 0x1c], ecx
mov ecx, dword [eax]
mov edx, ecx
mov edi, ecx
shr edx, 0x12
shl edi, 0xe
or edx, edi
mov edi, ecx
mov ebx, ecx
add eax, 4
shl edi, 0x19
shr ebx, 7
or edi, ebx
xor edx, edi
shr ecx, 3
xor edx, ecx
mov ecx, dword [ebp - 0x1c]
mov edi, ecx
mov ebx, ecx
shr edi, 0x11
shl ebx, 0xf
or edi, ebx
mov ebx, ecx
shr ebx, 0x13
shl ecx, 0xd
or ebx, ecx
mov ecx, dword [ebp - 0x1c]
xor edi, ebx
shr ecx, 0xa
xor edi, ecx
add edx, edi
add edx, dword [eax + 0x1c]
add edx, dword [eax - 8]
dec dword [ebp - 0x24]
mov dword [eax + 0x38], edx
jne 0x40425f
mov eax, dword [esi]
mov edi, dword [esi + 0x10]
mov dword [ebp - 0x20], eax
mov eax, dword [esi + 4]
mov dword [ebp - 0x18], eax
mov eax, dword [esi + 8]
mov ebx, dword [esi + 0x18]
mov dword [ebp - 8], eax
mov eax, dword [esi + 0xc]
push edi
mov dword [ebp - 0xc], eax
mov eax, dword [esi + 0x14]
mov dword [ebp - 0x10], eax
mov eax, dword [esi + 0x1c]
mov dword [ebp - 0x14], edi
mov dword [ebp - 0x24], ebx
mov dword [ebp - 0x1c], eax
call fcn.004056ff
xor ebx, dword [ebp - 0x10]
mov ecx, dword [0x432340]
push dword [ebp - 0x20]
add ecx, eax
and ebx, edi
xor ebx, dword [ebp - 0x24]
add ebx, ecx
add ebx, dword [ebp - 0x124]
add ebx, dword [ebp - 0x1c]
call fcn.004056d2
mov edi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
or edi, dword [ebp - 0x20]
and ecx, dword [ebp - 0x20]
add dword [ebp - 0xc], ebx
and edi, dword [ebp - 8]
push dword [ebp - 0xc]
or edi, ecx
mov ecx, ebx
add ecx, eax
add edi, ecx
call fcn.004056ff
mov ecx, dword [ebp - 0x10]
mov edx, dword [0x432344]
xor ecx, dword [ebp - 0x14]
add edx, eax
push edi
and ecx, dword [ebp - 0xc]
xor ecx, dword [ebp - 0x10]
add ecx, edx
add ecx, dword [ebp - 0x120]
add ecx, dword [ebp - 0x24]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ebx, edi
mov ecx, edi
or ebx, dword [ebp - 0x20]
and ecx, dword [ebp - 0x20]
and ebx, dword [ebp - 0x18]
or ebx, ecx
mov ecx, dword [ebp - 4]
add dword [ebp - 8], ecx
mov edx, ecx
push dword [ebp - 8]
add edx, eax
add ebx, edx
call fcn.004056ff
mov ecx, dword [ebp - 0x14]
mov edx, dword [0x432348]
xor ecx, dword [ebp - 0xc]
add edx, eax
push ebx
and ecx, dword [ebp - 8]
xor ecx, dword [ebp - 0x14]
add ecx, edx
add ecx, dword [ebp - 0x11c]
add ecx, dword [ebp - 0x10]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, edi
mov edx, edi
or ecx, ebx
and ecx, dword [ebp - 0x20]
and edx, ebx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x18], eax
add ecx, edx
push dword [ebp - 0x18]
mov dword [ebp - 0x10], ecx
call fcn.004056ff
mov ecx, dword [ebp - 0xc]
mov edx, dword [0x43234c]
xor ecx, dword [ebp - 8]
add edx, eax
push dword [ebp - 0x10]
and ecx, dword [ebp - 0x18]
xor ecx, dword [ebp - 0xc]
add ecx, edx
add ecx, dword [ebp - 0x118]
add ecx, dword [ebp - 0x14]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, ebx
mov edx, ebx
or ecx, dword [ebp - 0x10]
and edx, dword [ebp - 0x10]
and ecx, edi
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x20], eax
add ecx, edx
push dword [ebp - 0x20]
mov dword [ebp - 0x14], ecx
call fcn.004056ff
mov ecx, dword [ebp - 8]
mov edx, dword [0x432350]
xor ecx, dword [ebp - 0x18]
add edx, eax
push dword [ebp - 0x14]
and ecx, dword [ebp - 0x20]
xor ecx, dword [ebp - 8]
add ecx, edx
add ecx, dword [ebp - 0x114]
add ecx, dword [ebp - 0xc]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
or ecx, dword [ebp - 0x14]
and edx, dword [ebp - 0x14]
add edi, dword [ebp - 4]
and ecx, ebx
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
push edi
add edx, eax
add ecx, edx
mov dword [ebp - 0xc], ecx
call fcn.004056ff
mov ecx, dword [ebp - 0x18]
mov edx, dword [0x432354]
xor ecx, dword [ebp - 0x20]
add edx, eax
push dword [ebp - 0xc]
and ecx, edi
xor ecx, dword [ebp - 0x18]
add ecx, edx
add ecx, dword [ebp - 0x110]
add ecx, dword [ebp - 8]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
or ecx, dword [ebp - 0xc]
and ecx, dword [ebp - 0x10]
and edx, dword [ebp - 0xc]
mov dword [ebp - 0x1c], ecx
add ebx, dword [ebp - 4]
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
push ebx
add ecx, edx
mov dword [ebp - 8], ecx
call fcn.004056ff
mov edx, dword [0x432358]
mov ecx, edi
xor ecx, dword [ebp - 0x20]
add edx, eax
push dword [ebp - 8]
and ecx, ebx
xor ecx, dword [ebp - 0x20]
add ecx, edx
add ecx, dword [ebp - 0x10c]
add ecx, dword [ebp - 0x18]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
or ecx, dword [ebp - 8]
and edx, dword [ebp - 8]
and ecx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x10], eax
add ecx, edx
push dword [ebp - 0x10]
mov dword [ebp - 0x18], ecx
call fcn.004056ff
mov edx, dword [0x43235c]
mov ecx, edi
xor ecx, ebx
add edx, eax
and ecx, dword [ebp - 0x10]
push dword [ebp - 0x18]
xor ecx, edi
add ecx, edx
add ecx, dword [ebp - 0x108]
add ecx, dword [ebp - 0x20]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 8]
or ecx, dword [ebp - 0x18]
and edx, dword [ebp - 0x18]
add esp, 0x40
and ecx, dword [ebp - 0xc]
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x14], eax
add ecx, edx
push dword [ebp - 0x14]
mov dword [ebp - 0x20], ecx
call fcn.004056ff
mov edx, dword [0x432360]
mov ecx, ebx
xor ecx, dword [ebp - 0x10]
push dword [ebp - 0x20]
add edx, eax
and ecx, dword [ebp - 0x14]
xor ecx, ebx
add ecx, edx
add ecx, dword [ebp - 0x104]
add ecx, edi
mov dword [ebp - 4], ecx
call fcn.004056d2
mov edi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
or edi, dword [ebp - 0x20]
and ecx, dword [ebp - 0x20]
and edi, dword [ebp - 8]
or edi, ecx
mov ecx, dword [ebp - 4]
add dword [ebp - 0xc], ecx
mov edx, ecx
push dword [ebp - 0xc]
add edx, eax
add edi, edx
call fcn.004056ff
mov ecx, dword [ebp - 0x10]
mov edx, dword [0x432364]
xor ecx, dword [ebp - 0x14]
add edx, eax
push edi
and ecx, dword [ebp - 0xc]
xor ecx, dword [ebp - 0x10]
add ecx, edx
add ecx, dword [ebp - 0x100]
add ecx, ebx
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ebx, edi
mov ecx, edi
or ebx, dword [ebp - 0x20]
and ecx, dword [ebp - 0x20]
and ebx, dword [ebp - 0x18]
or ebx, ecx
mov ecx, dword [ebp - 4]
add dword [ebp - 8], ecx
mov edx, ecx
push dword [ebp - 8]
add edx, eax
add ebx, edx
call fcn.004056ff
mov ecx, dword [ebp - 0x14]
mov edx, dword [0x432368]
xor ecx, dword [ebp - 0xc]
add edx, eax
push ebx
and ecx, dword [ebp - 8]
xor ecx, dword [ebp - 0x14]
add ecx, edx
add ecx, dword [ebp - 0xfc]
add ecx, dword [ebp - 0x10]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, edi
mov edx, edi
or ecx, ebx
and edx, ebx
and ecx, dword [ebp - 0x20]
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x18], eax
add ecx, edx
push dword [ebp - 0x18]
mov dword [ebp - 0x10], ecx
call fcn.004056ff
mov ecx, dword [ebp - 0xc]
mov edx, dword [0x43236c]
xor ecx, dword [ebp - 8]
add edx, eax
push dword [ebp - 0x10]
and ecx, dword [ebp - 0x18]
xor ecx, dword [ebp - 0xc]
add ecx, edx
add ecx, dword [ebp - 0xf8]
add ecx, dword [ebp - 0x14]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, ebx
mov edx, ebx
or ecx, dword [ebp - 0x10]
and edx, dword [ebp - 0x10]
and ecx, edi
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
add ecx, edx
mov dword [ebp - 0x14], ecx
mov eax, dword [ebp - 4]
add dword [ebp - 0x20], eax
push dword [ebp - 0x20]
call fcn.004056ff
mov ecx, dword [ebp - 8]
mov edx, dword [0x432370]
xor ecx, dword [ebp - 0x18]
add edx, eax
push dword [ebp - 0x14]
and ecx, dword [ebp - 0x20]
xor ecx, dword [ebp - 8]
add ecx, edx
add ecx, dword [ebp - 0xf4]
add ecx, dword [ebp - 0xc]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
or ecx, dword [ebp - 0x14]
and edx, dword [ebp - 0x14]
add edi, dword [ebp - 4]
and ecx, ebx
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
push edi
add edx, eax
add ecx, edx
mov dword [ebp - 0xc], ecx
call fcn.004056ff
mov ecx, dword [ebp - 0x18]
mov edx, dword [0x432374]
xor ecx, dword [ebp - 0x20]
add edx, eax
push dword [ebp - 0xc]
and ecx, edi
xor ecx, dword [ebp - 0x18]
add ecx, edx
add ecx, dword [ebp - 0xf0]
add ecx, dword [ebp - 8]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
or ecx, dword [ebp - 0xc]
and edx, dword [ebp - 0xc]
add ebx, dword [ebp - 4]
and ecx, dword [ebp - 0x10]
push ebx
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
add ecx, edx
mov dword [ebp - 8], ecx
call fcn.004056ff
mov edx, dword [0x432378]
mov ecx, edi
xor ecx, dword [ebp - 0x20]
add edx, eax
push dword [ebp - 8]
and ecx, ebx
xor ecx, dword [ebp - 0x20]
add ecx, edx
add ecx, dword [ebp - 0xec]
add ecx, dword [ebp - 0x18]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
or ecx, dword [ebp - 8]
and edx, dword [ebp - 8]
and ecx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add ecx, edx
add dword [ebp - 0x10], eax
mov dword [ebp - 0x18], ecx
push dword [ebp - 0x10]
call fcn.004056ff
mov edx, dword [0x43237c]
mov ecx, edi
xor ecx, ebx
add edx, eax
and ecx, dword [ebp - 0x10]
push dword [ebp - 0x18]
xor ecx, edi
add ecx, edx
add ecx, dword [ebp - 0xe8]
add ecx, dword [ebp - 0x20]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 8]
or ecx, dword [ebp - 0x18]
and edx, dword [ebp - 0x18]
add esp, 0x40
and ecx, dword [ebp - 0xc]
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x14], eax
add ecx, edx
push dword [ebp - 0x14]
mov dword [ebp - 0x20], ecx
call fcn.004056ff
mov edx, dword [0x432380]
mov ecx, ebx
xor ecx, dword [ebp - 0x10]
push dword [ebp - 0x20]
add edx, eax
and ecx, dword [ebp - 0x14]
xor ecx, ebx
add ecx, edx
add ecx, dword [ebp - 0xe4]
add ecx, edi
mov dword [ebp - 4], ecx
call fcn.004056d2
mov edi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
or edi, dword [ebp - 0x20]
and ecx, dword [ebp - 0x20]
and edi, dword [ebp - 8]
or edi, ecx
mov ecx, dword [ebp - 4]
add dword [ebp - 0xc], ecx
mov edx, ecx
push dword [ebp - 0xc]
add edx, eax
add edi, edx
call fcn.004056ff
mov ecx, dword [ebp - 0x10]
mov edx, dword [0x432384]
xor ecx, dword [ebp - 0x14]
add edx, eax
push edi
and ecx, dword [ebp - 0xc]
xor ecx, dword [ebp - 0x10]
add ecx, edx
add ecx, dword [ebp - 0xe0]
add ecx, ebx
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ebx, edi
mov ecx, edi
or ebx, dword [ebp - 0x20]
and ecx, dword [ebp - 0x20]
and ebx, dword [ebp - 0x18]
or ebx, ecx
mov ecx, dword [ebp - 4]
add dword [ebp - 8], ecx
mov edx, ecx
push dword [ebp - 8]
add edx, eax
add ebx, edx
call fcn.004056ff
mov ecx, dword [ebp - 0x14]
xor ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0xdc]
add edx, eax
push ebx
and ecx, dword [ebp - 8]
xor ecx, dword [ebp - 0x14]
add ecx, edx
add ecx, dword [0x432388]
add ecx, dword [ebp - 0x10]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, edi
mov edx, edi
or ecx, ebx
and edx, ebx
and ecx, dword [ebp - 0x20]
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x18], eax
add ecx, edx
push dword [ebp - 0x18]
mov dword [ebp - 0x10], ecx
call fcn.004056ff
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0xd8]
xor ecx, dword [ebp - 8]
add edx, eax
push dword [ebp - 0x10]
and ecx, dword [ebp - 0x18]
xor ecx, dword [ebp - 0xc]
add ecx, edx
add ecx, dword [str._f_o_]
add ecx, dword [ebp - 0x14]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, ebx
mov edx, ebx
or ecx, dword [ebp - 0x10]
and edx, dword [ebp - 0x10]
and ecx, edi
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x20], eax
add ecx, edx
push dword [ebp - 0x20]
mov dword [ebp - 0x14], ecx
call fcn.004056ff
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0xd4]
xor ecx, dword [ebp - 0x18]
add edx, eax
push dword [ebp - 0x14]
and ecx, dword [ebp - 0x20]
xor ecx, dword [ebp - 8]
add ecx, edx
add ecx, dword [0x432390]
add ecx, dword [ebp - 0xc]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
or ecx, dword [ebp - 0x14]
and edx, dword [ebp - 0x14]
add edi, dword [ebp - 4]
and ecx, ebx
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
push edi
add edx, eax
add ecx, edx
mov dword [ebp - 0xc], ecx
call fcn.004056ff
mov ecx, dword [ebp - 0x18]
xor ecx, dword [ebp - 0x20]
and ecx, edi
mov edx, dword [ebp - 0xd0]
xor ecx, dword [ebp - 0x18]
add edx, eax
push dword [ebp - 0xc]
add ecx, edx
add ecx, dword [0x432394]
add ecx, dword [ebp - 8]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
or ecx, dword [ebp - 0xc]
and edx, dword [ebp - 0xc]
add ebx, dword [ebp - 4]
and ecx, dword [ebp - 0x10]
push ebx
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
add ecx, edx
mov dword [ebp - 8], ecx
call fcn.004056ff
mov edx, dword [ebp - 0xcc]
mov ecx, edi
xor ecx, dword [ebp - 0x20]
add edx, eax
push dword [ebp - 8]
and ecx, ebx
xor ecx, dword [ebp - 0x20]
add ecx, edx
add ecx, dword [0x432398]
add ecx, dword [ebp - 0x18]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
or ecx, dword [ebp - 8]
and edx, dword [ebp - 8]
and ecx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x10], eax
add ecx, edx
push dword [ebp - 0x10]
mov dword [ebp - 0x18], ecx
call fcn.004056ff
mov edx, dword [ebp - 0xc8]
mov ecx, edi
xor ecx, ebx
add edx, eax
and ecx, dword [ebp - 0x10]
push dword [ebp - 0x18]
xor ecx, edi
add ecx, edx
add ecx, dword [0x43239c]
add ecx, dword [ebp - 0x20]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 8]
or ecx, dword [ebp - 0x18]
and edx, dword [ebp - 0x18]
add esp, 0x40
and ecx, dword [ebp - 0xc]
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x14], eax
add ecx, edx
push dword [ebp - 0x14]
mov dword [ebp - 0x20], ecx
call fcn.004056ff
mov ecx, ebx
xor ecx, dword [ebp - 0x10]
and ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xc4]
push dword [ebp - 0x20]
xor ecx, ebx
add edx, eax
add ecx, edx
add ecx, dword [0x4323a0]
add ecx, edi
mov dword [ebp - 4], ecx
call fcn.004056d2
mov edi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
or edi, dword [ebp - 0x20]
and ecx, dword [ebp - 0x20]
and edi, dword [ebp - 8]
or edi, ecx
mov ecx, dword [ebp - 4]
add dword [ebp - 0xc], ecx
mov edx, ecx
push dword [ebp - 0xc]
add edx, eax
add edi, edx
call fcn.004056ff
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0xc0]
xor ecx, dword [ebp - 0x14]
add edx, eax
push edi
and ecx, dword [ebp - 0xc]
xor ecx, dword [ebp - 0x10]
add ecx, edx
add ecx, dword [0x4323a4]
add ecx, ebx
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ebx, edi
mov ecx, edi
or ebx, dword [ebp - 0x20]
and ecx, dword [ebp - 0x20]
and ebx, dword [ebp - 0x18]
or ebx, ecx
mov ecx, dword [ebp - 4]
add dword [ebp - 8], ecx
mov edx, ecx
push dword [ebp - 8]
add edx, eax
add ebx, edx
call fcn.004056ff
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0xbc]
xor ecx, dword [ebp - 0xc]
add edx, eax
push ebx
and ecx, dword [ebp - 8]
xor ecx, dword [ebp - 0x14]
add ecx, edx
add ecx, dword [0x4323a8]
add ecx, dword [ebp - 0x10]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, edi
mov edx, edi
or ecx, ebx
and edx, ebx
and ecx, dword [ebp - 0x20]
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x18], eax
add ecx, edx
push dword [ebp - 0x18]
mov dword [ebp - 0x10], ecx
call fcn.004056ff
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0xb8]
xor ecx, dword [ebp - 8]
add edx, eax
and ecx, dword [ebp - 0x18]
xor ecx, dword [ebp - 0xc]
add ecx, edx
add ecx, dword [0x4323ac]
add ecx, dword [ebp - 0x14]
push dword [ebp - 0x10]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, ebx
mov edx, ebx
or ecx, dword [ebp - 0x10]
and edx, dword [ebp - 0x10]
and ecx, edi
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x20], eax
add ecx, edx
push dword [ebp - 0x20]
mov dword [ebp - 0x14], ecx
call fcn.004056ff
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0xb4]
xor ecx, dword [ebp - 0x18]
add edx, eax
push dword [ebp - 0x14]
and ecx, dword [ebp - 0x20]
xor ecx, dword [ebp - 8]
add ecx, edx
add ecx, dword [0x4323b0]
add ecx, dword [ebp - 0xc]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
or ecx, dword [ebp - 0x14]
and edx, dword [ebp - 0x14]
add edi, dword [ebp - 4]
and ecx, ebx
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
push edi
add edx, eax
add ecx, edx
mov dword [ebp - 0xc], ecx
call fcn.004056ff
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0xb0]
xor ecx, dword [ebp - 0x20]
add edx, eax
push dword [ebp - 0xc]
and ecx, edi
xor ecx, dword [ebp - 0x18]
add ecx, edx
add ecx, dword [0x4323b4]
add ecx, dword [ebp - 8]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
or ecx, dword [ebp - 0xc]
and edx, dword [ebp - 0xc]
add ebx, dword [ebp - 4]
and ecx, dword [ebp - 0x10]
push ebx
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
add ecx, edx
mov dword [ebp - 8], ecx
call fcn.004056ff
mov edx, dword [ebp - 0xac]
mov ecx, edi
xor ecx, dword [ebp - 0x20]
add edx, eax
and ecx, ebx
xor ecx, dword [ebp - 0x20]
add ecx, edx
add ecx, dword [0x4323b8]
add ecx, dword [ebp - 0x18]
mov dword [ebp - 4], ecx
push dword [ebp - 8]
call fcn.004056d2
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
or ecx, dword [ebp - 8]
and edx, dword [ebp - 8]
and ecx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x10], eax
add ecx, edx
push dword [ebp - 0x10]
mov dword [ebp - 0x18], ecx
call fcn.004056ff
mov edx, dword [0x4323bc]
mov ecx, edi
xor ecx, ebx
add edx, eax
and ecx, dword [ebp - 0x10]
push dword [ebp - 0x18]
xor ecx, edi
add ecx, edx
add ecx, dword [ebp - 0xa8]
add ecx, dword [ebp - 0x20]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 8]
or ecx, dword [ebp - 0x18]
and edx, dword [ebp - 0x18]
add esp, 0x40
and ecx, dword [ebp - 0xc]
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x14], eax
add ecx, edx
push dword [ebp - 0x14]
mov dword [ebp - 0x20], ecx
call fcn.004056ff
mov edx, dword [0x4323c0]
mov ecx, ebx
xor ecx, dword [ebp - 0x10]
push dword [ebp - 0x20]
add edx, eax
and ecx, dword [ebp - 0x14]
xor ecx, ebx
add ecx, edx
add ecx, dword [ebp - 0xa4]
add ecx, edi
mov dword [ebp - 4], ecx
call fcn.004056d2
mov edi, dword [ebp - 0x18]
mov ecx, dword [ebp - 0x18]
or edi, dword [ebp - 0x20]
and ecx, dword [ebp - 0x20]
and edi, dword [ebp - 8]
or edi, ecx
mov ecx, dword [ebp - 4]
add dword [ebp - 0xc], ecx
mov edx, ecx
push dword [ebp - 0xc]
add edx, eax
add edi, edx
call fcn.004056ff
mov ecx, dword [ebp - 0x10]
mov edx, dword [0x4323c4]
xor ecx, dword [ebp - 0x14]
add edx, eax
push edi
and ecx, dword [ebp - 0xc]
xor ecx, dword [ebp - 0x10]
add ecx, edx
add ecx, dword [ebp - 0xa0]
add ecx, ebx
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ebx, edi
mov ecx, edi
or ebx, dword [ebp - 0x20]
and ecx, dword [ebp - 0x20]
and ebx, dword [ebp - 0x18]
or ebx, ecx
mov ecx, dword [ebp - 4]
add dword [ebp - 8], ecx
mov edx, ecx
push dword [ebp - 8]
add edx, eax
add ebx, edx
call fcn.004056ff
mov ecx, dword [ebp - 0x14]
mov edx, dword [0x4323c8]
xor ecx, dword [ebp - 0xc]
add edx, eax
push ebx
and ecx, dword [ebp - 8]
xor ecx, dword [ebp - 0x14]
add ecx, edx
add ecx, dword [ebp - 0x9c]
add ecx, dword [ebp - 0x10]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, edi
mov edx, edi
or ecx, ebx
and edx, ebx
and ecx, dword [ebp - 0x20]
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x18], eax
add ecx, edx
push dword [ebp - 0x18]
mov dword [ebp - 0x10], ecx
call fcn.004056ff
mov ecx, dword [ebp - 0xc]
mov edx, dword [0x4323cc]
xor ecx, dword [ebp - 8]
add edx, eax
push dword [ebp - 0x10]
and ecx, dword [ebp - 0x18]
xor ecx, dword [ebp - 0xc]
add ecx, edx
add ecx, dword [ebp - 0x98]
add ecx, dword [ebp - 0x14]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, ebx
mov edx, ebx
or ecx, dword [ebp - 0x10]
and edx, dword [ebp - 0x10]
and ecx, edi
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x20], eax
add ecx, edx
push dword [ebp - 0x20]
mov dword [ebp - 0x14], ecx
call fcn.004056ff
mov ecx, dword [ebp - 8]
mov edx, dword [0x4323d0]
xor ecx, dword [ebp - 0x18]
add edx, eax
push dword [ebp - 0x14]
and ecx, dword [ebp - 0x20]
xor ecx, dword [ebp - 8]
add ecx, edx
add ecx, dword [ebp - 0x94]
add ecx, dword [ebp - 0xc]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, dword [ebp - 0x10]
or ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x10]
add edi, dword [ebp - 4]
and edx, dword [ebp - 0x14]
and ecx, ebx
mov dword [ebp - 0x1c], ecx
push edi
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
add ecx, edx
mov dword [ebp - 0xc], ecx
call fcn.004056ff
mov ecx, dword [ebp - 0x18]
mov edx, dword [0x4323d4]
xor ecx, dword [ebp - 0x20]
add edx, eax
push dword [ebp - 0xc]
and ecx, edi
xor ecx, dword [ebp - 0x18]
add ecx, edx
add ecx, dword [ebp - 0x90]
add ecx, dword [ebp - 8]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
or ecx, dword [ebp - 0xc]
and edx, dword [ebp - 0xc]
add ebx, dword [ebp - 4]
and ecx, dword [ebp - 0x10]
push ebx
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
add ecx, edx
mov dword [ebp - 8], ecx
call fcn.004056ff
mov edx, dword [0x4323d8]
mov ecx, edi
xor ecx, dword [ebp - 0x20]
add edx, eax
push dword [ebp - 8]
and ecx, ebx
xor ecx, dword [ebp - 0x20]
add ecx, edx
add ecx, dword [ebp - 0x8c]
add ecx, dword [ebp - 0x18]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
or ecx, dword [ebp - 8]
and edx, dword [ebp - 8]
and ecx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x10], eax
add ecx, edx
push dword [ebp - 0x10]
mov dword [ebp - 0x18], ecx
call fcn.004056ff
mov edx, dword [0x4323dc]
mov ecx, edi
xor ecx, ebx
add edx, eax
and ecx, dword [ebp - 0x10]
push dword [ebp - 0x18]
xor ecx, edi
add ecx, edx
add ecx, dword [ebp - 0x88]
add ecx, dword [ebp - 0x20]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, dword [ebp - 8]
add esp, 0x40
or ecx, dword [ebp - 0x18]
and ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 8]
mov dword [ebp - 0x1c], ecx
and edx, dword [ebp - 0x18]
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x14], eax
add ecx, edx
push dword [ebp - 0x14]
mov dword [ebp - 0x20], ecx
call fcn.004056ff
mov edx, dword [0x4323e0]
mov ecx, ebx
xor ecx, dword [ebp - 0x10]
add edx, eax
and ecx, dword [ebp - 0x14]
xor ecx, ebx
add ecx, edx
add ecx, dword [ebp - 0x84]
add ecx, edi
mov edi, dword [ebp - 0x20]
push edi
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x18]
or ecx, edi
and edx, edi
and ecx, dword [ebp - 8]
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0xc], eax
add ecx, edx
push dword [ebp - 0xc]
mov dword [ebp - 0x1c], ecx
call fcn.004056ff
mov ecx, dword [ebp - 0x10]
mov edx, dword [0x4323e4]
xor ecx, dword [ebp - 0x14]
add edx, eax
and ecx, dword [ebp - 0xc]
xor ecx, dword [ebp - 0x10]
add ecx, edx
add ecx, dword [ebp - 0x80]
add ecx, ebx
mov ebx, dword [ebp - 0x1c]
push ebx
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, ebx
mov edx, ebx
or ecx, edi
and edx, edi
and ecx, dword [ebp - 0x18]
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 8], eax
add ecx, edx
push dword [ebp - 8]
mov dword [ebp - 0x24], ecx
call fcn.004056ff
mov ecx, dword [ebp - 0x14]
mov edx, dword [0x4323e8]
xor ecx, dword [ebp - 0xc]
add edx, eax
push dword [ebp - 0x24]
and ecx, dword [ebp - 8]
xor ecx, dword [ebp - 0x14]
add ecx, edx
add ecx, dword [ebp - 0x7c]
add ecx, dword [ebp - 0x10]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, ebx
or ecx, dword [ebp - 0x24]
and ecx, edi
mov edx, ebx
mov dword [ebp - 0x1c], ecx
and edx, dword [ebp - 0x24]
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x18], eax
add ecx, edx
push dword [ebp - 0x18]
mov dword [ebp - 0x10], ecx
call fcn.004056ff
mov ecx, dword [ebp - 0xc]
mov edx, dword [0x4323ec]
xor ecx, dword [ebp - 8]
add edx, eax
push dword [ebp - 0x10]
and ecx, dword [ebp - 0x18]
xor ecx, dword [ebp - 0xc]
add ecx, edx
add ecx, dword [ebp - 0x78]
add ecx, dword [ebp - 0x14]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x24]
or ecx, dword [ebp - 0x10]
and edx, dword [ebp - 0x10]
add edi, dword [ebp - 4]
and ecx, ebx
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
push edi
add edx, eax
add ecx, edx
mov dword [ebp - 0x14], ecx
call fcn.004056ff
mov ecx, dword [ebp - 8]
mov edx, dword [0x4323f0]
xor ecx, dword [ebp - 0x18]
add edx, eax
push dword [ebp - 0x14]
and ecx, edi
xor ecx, dword [ebp - 8]
add ecx, edx
add ecx, dword [ebp - 0x74]
add ecx, dword [ebp - 0xc]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
or ecx, dword [ebp - 0x14]
and edx, dword [ebp - 0x14]
add ebx, dword [ebp - 4]
and ecx, dword [ebp - 0x24]
push ebx
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
add ecx, edx
mov dword [ebp - 0xc], ecx
call fcn.004056ff
mov ecx, dword [ebp - 0x18]
mov edx, dword [0x4323f4]
xor ecx, edi
add edx, eax
and ecx, ebx
push dword [ebp - 0xc]
xor ecx, dword [ebp - 0x18]
add ecx, edx
add ecx, dword [ebp - 0x70]
add ecx, dword [ebp - 8]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
or ecx, dword [ebp - 0xc]
and ecx, dword [ebp - 0x10]
mov dword [ebp - 0x1c], ecx
and edx, dword [ebp - 0xc]
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x24], eax
add ecx, edx
push dword [ebp - 0x24]
mov dword [ebp - 8], ecx
call fcn.004056ff
mov edx, dword [0x4323f8]
mov ecx, ebx
xor ecx, edi
add edx, eax
and ecx, dword [ebp - 0x24]
push dword [ebp - 8]
xor ecx, edi
add ecx, edx
add ecx, dword [ebp - 0x6c]
add ecx, dword [ebp - 0x18]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
or ecx, dword [ebp - 8]
and edx, dword [ebp - 8]
and ecx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x10], eax
add ecx, edx
push dword [ebp - 0x10]
mov dword [ebp - 0x18], ecx
call fcn.004056ff
mov edx, dword [0x4323fc]
mov ecx, ebx
xor ecx, dword [ebp - 0x24]
add edx, eax
and ecx, dword [ebp - 0x10]
xor ecx, ebx
add ecx, edx
add ecx, dword [ebp - 0x68]
add ecx, edi
mov edi, dword [ebp - 0x18]
push edi
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 8]
or ecx, edi
and edx, edi
and ecx, dword [ebp - 0xc]
add esp, 0x40
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x14], eax
add ecx, edx
push dword [ebp - 0x14]
mov dword [ebp - 0x20], ecx
call fcn.004056ff
mov ecx, dword [ebp - 0x24]
mov edx, dword [0x432400]
xor ecx, dword [ebp - 0x10]
add edx, eax
and ecx, dword [ebp - 0x14]
xor ecx, dword [ebp - 0x24]
add ecx, edx
add ecx, dword [ebp - 0x64]
add ecx, ebx
mov ebx, dword [ebp - 0x20]
push ebx
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, edi
or ecx, ebx
and ecx, dword [ebp - 8]
mov edx, edi
and edx, ebx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0xc], eax
add ecx, edx
push dword [ebp - 0xc]
mov dword [ebp - 0x1c], ecx
call fcn.004056ff
mov ecx, dword [ebp - 0x10]
mov edx, dword [0x432404]
xor ecx, dword [ebp - 0x14]
add edx, eax
push dword [ebp - 0x1c]
and ecx, dword [ebp - 0xc]
xor ecx, dword [ebp - 0x10]
add ecx, edx
add ecx, dword [ebp - 0x60]
add ecx, dword [ebp - 0x24]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
or ecx, ebx
and edx, ebx
and ecx, edi
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 8], eax
add ecx, edx
push dword [ebp - 8]
mov dword [ebp - 0x24], ecx
call fcn.004056ff
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x5c]
xor ecx, dword [ebp - 0xc]
add edx, eax
push dword [ebp - 0x24]
and ecx, dword [ebp - 8]
xor ecx, dword [ebp - 0x14]
add ecx, edx
add ecx, dword [str.LwH]
add ecx, dword [ebp - 0x10]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x1c]
or ecx, dword [ebp - 0x24]
and edx, dword [ebp - 0x24]
add edi, dword [ebp - 4]
and ecx, ebx
mov dword [ebp - 0x20], ecx
or ecx, edx
mov edx, dword [ebp - 4]
push edi
add edx, eax
add ecx, edx
mov dword [ebp - 0x10], ecx
call fcn.004056ff
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x58]
xor ecx, dword [ebp - 8]
add edx, eax
push dword [ebp - 0x10]
and ecx, edi
xor ecx, dword [ebp - 0xc]
add ecx, edx
add ecx, dword [0x43240c]
add ecx, dword [ebp - 0x14]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x24]
or ecx, dword [ebp - 0x10]
and ecx, dword [ebp - 0x1c]
and edx, dword [ebp - 0x10]
mov dword [ebp - 0x20], ecx
add ebx, dword [ebp - 4]
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
push ebx
add ecx, edx
mov dword [ebp - 0x14], ecx
call fcn.004056ff
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x54]
xor ecx, edi
add edx, eax
and ecx, ebx
push dword [ebp - 0x14]
xor ecx, dword [ebp - 8]
add ecx, edx
add ecx, dword [0x432410]
add ecx, dword [ebp - 0xc]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
or ecx, dword [ebp - 0x14]
and edx, dword [ebp - 0x14]
and ecx, dword [ebp - 0x24]
mov dword [ebp - 0x20], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x1c], eax
add ecx, edx
push dword [ebp - 0x1c]
mov dword [ebp - 0xc], ecx
call fcn.004056ff
mov edx, dword [ebp - 0x50]
mov ecx, edi
xor ecx, ebx
add edx, eax
and ecx, dword [ebp - 0x1c]
push dword [ebp - 0xc]
xor ecx, edi
add ecx, edx
add ecx, dword [0x432414]
add ecx, dword [ebp - 8]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
or ecx, dword [ebp - 0xc]
and edx, dword [ebp - 0xc]
and ecx, dword [ebp - 0x10]
mov dword [ebp - 0x20], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x24], eax
add ecx, edx
push dword [ebp - 0x24]
mov dword [ebp - 8], ecx
call fcn.004056ff
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x4c]
xor ecx, ebx
push dword [ebp - 8]
and ecx, dword [ebp - 0x24]
add edx, eax
xor ecx, ebx
add ecx, edx
add ecx, dword [0x432418]
add ecx, edi
mov dword [ebp - 4], ecx
call fcn.004056d2
mov edi, dword [ebp - 0xc]
mov ecx, dword [ebp - 0xc]
or edi, dword [ebp - 8]
and ecx, dword [ebp - 8]
and edi, dword [ebp - 0x14]
or edi, ecx
mov ecx, dword [ebp - 4]
add dword [ebp - 0x10], ecx
mov edx, ecx
push dword [ebp - 0x10]
add edx, eax
add edi, edx
mov dword [ebp - 0x18], edi
call fcn.004056ff
mov ecx, dword [ebp - 0x1c]
mov edx, dword [ebp - 0x48]
xor ecx, dword [ebp - 0x24]
add edx, eax
push edi
and ecx, dword [ebp - 0x10]
xor ecx, dword [ebp - 0x1c]
add ecx, edx
add ecx, dword [0x43241c]
add ecx, ebx
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ebx, dword [ebp - 8]
mov ecx, dword [ebp - 8]
or ebx, edi
and ecx, edi
and ebx, dword [ebp - 0xc]
add esp, 0x40
or ebx, ecx
mov ecx, dword [ebp - 4]
add dword [ebp - 0x14], ecx
mov edx, ecx
push dword [ebp - 0x14]
add edx, eax
add ebx, edx
call fcn.004056ff
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x44]
xor ecx, dword [ebp - 0x10]
add edx, eax
push ebx
and ecx, dword [ebp - 0x14]
xor ecx, dword [ebp - 0x24]
add ecx, edx
add ecx, dword [0x432420]
add ecx, dword [ebp - 0x1c]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, dword [ebp - 0x18]
or edi, ebx
and edi, dword [ebp - 8]
and ecx, ebx
or edi, ecx
mov ecx, dword [ebp - 4]
add dword [ebp - 0xc], ecx
mov edx, ecx
push dword [ebp - 0xc]
add edx, eax
add edi, edx
call fcn.004056ff
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x40]
xor ecx, dword [ebp - 0x14]
add edx, eax
push edi
and ecx, dword [ebp - 0xc]
xor ecx, dword [ebp - 0x10]
add ecx, edx
add ecx, dword [0x432424]
add ecx, dword [ebp - 0x24]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, edi
mov edx, edi
or ecx, ebx
and edx, ebx
and ecx, dword [ebp - 0x18]
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add ecx, edx
add dword [ebp - 8], eax
mov dword [ebp - 0x24], ecx
push dword [ebp - 8]
call fcn.004056ff
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x3c]
xor ecx, dword [ebp - 0xc]
add edx, eax
push dword [ebp - 0x24]
and ecx, dword [ebp - 8]
xor ecx, dword [ebp - 0x14]
add ecx, edx
add ecx, dword [0x432428]
add ecx, dword [ebp - 0x10]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, edi
mov edx, edi
or ecx, dword [ebp - 0x24]
and edx, dword [ebp - 0x24]
and ecx, ebx
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x18], eax
add ecx, edx
push dword [ebp - 0x18]
mov dword [ebp - 0x10], ecx
call fcn.004056ff
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0x38]
xor ecx, dword [ebp - 8]
add edx, eax
push dword [ebp - 0x10]
and ecx, dword [ebp - 0x18]
xor ecx, dword [ebp - 0xc]
add ecx, edx
add ecx, dword [0x43242c]
add ecx, dword [ebp - 0x14]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, dword [ebp - 0x24]
mov edx, dword [ebp - 0x24]
or ecx, dword [ebp - 0x10]
and edx, dword [ebp - 0x10]
add ebx, dword [ebp - 4]
and ecx, edi
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
push ebx
add edx, eax
add ecx, edx
mov dword [ebp - 0x14], ecx
call fcn.004056ff
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 0x34]
xor ecx, dword [ebp - 0x18]
add edx, eax
push dword [ebp - 0x14]
and ecx, ebx
xor ecx, dword [ebp - 8]
add ecx, edx
add ecx, dword [0x432430]
add ecx, dword [ebp - 0xc]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, dword [ebp - 0x10]
mov edx, dword [ebp - 0x10]
or ecx, dword [ebp - 0x14]
and edx, dword [ebp - 0x14]
add edi, dword [ebp - 4]
and ecx, dword [ebp - 0x24]
push edi
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
add ecx, edx
mov dword [ebp - 0xc], ecx
call fcn.004056ff
mov ecx, dword [ebp - 0x18]
mov edx, dword [ebp - 0x30]
xor ecx, ebx
add edx, eax
and ecx, edi
push dword [ebp - 0xc]
xor ecx, dword [ebp - 0x18]
add ecx, edx
add ecx, dword [0x432434]
add ecx, dword [ebp - 8]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, dword [ebp - 0x14]
mov edx, dword [ebp - 0x14]
or ecx, dword [ebp - 0xc]
and edx, dword [ebp - 0xc]
and ecx, dword [ebp - 0x10]
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x24], eax
add ecx, edx
push dword [ebp - 0x24]
mov dword [ebp - 8], ecx
call fcn.004056ff
mov edx, dword [ebp - 0x2c]
mov ecx, edi
xor ecx, ebx
add edx, eax
and ecx, dword [ebp - 0x24]
push dword [ebp - 8]
xor ecx, ebx
add ecx, edx
add ecx, dword [0x432438]
add ecx, dword [ebp - 0x18]
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, dword [ebp - 0xc]
mov edx, dword [ebp - 0xc]
or ecx, dword [ebp - 8]
and edx, dword [ebp - 8]
and ecx, dword [ebp - 0x14]
mov dword [ebp - 0x1c], ecx
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 4]
add dword [ebp - 0x10], eax
add ecx, edx
push dword [ebp - 0x10]
mov dword [ebp - 0x18], ecx
call fcn.004056ff
mov edx, dword [0x43243c]
mov ecx, edi
xor ecx, dword [ebp - 0x24]
add edx, eax
and ecx, dword [ebp - 0x10]
xor ecx, edi
add ecx, edx
add ecx, dword [ebp - 0x28]
add ecx, ebx
mov ebx, dword [ebp - 0x18]
push ebx
mov dword [ebp - 4], ecx
call fcn.004056d2
mov ecx, dword [ebp - 8]
mov edx, dword [ebp - 8]
or ecx, ebx
and edx, ebx
and ecx, dword [ebp - 0xc]
add dword [esi + 4], ebx
add esp, 0x40
or ecx, edx
mov edx, dword [ebp - 4]
add edx, eax
mov eax, dword [ebp - 8]
add ecx, edx
add dword [esi], ecx
add dword [esi + 8], eax
mov eax, dword [ebp - 0xc]
mov ecx, dword [ebp - 4]
add dword [esi + 0xc], eax
mov eax, dword [ebp - 0x14]
add ecx, eax
mov eax, dword [ebp - 0x10]
add dword [esi + 0x14], eax
mov eax, dword [ebp - 0x24]
add dword [esi + 0x10], ecx
add dword [esi + 0x18], eax
add dword [esi + 0x1c], edi
pop edi
pop esi
pop ebx
leave
ret