Function at 0x4e17c0
Capabilities:
Resolve function by parsing pe exports

Disassembly:
sub esp, 0xc4
push ebx
push ebp
push esi
mov esi, dword [esp + 0xd4]
push edi
movzx eax, byte [esi + 0x31]
and al, 0x7f
movzx eax, al
cdq
mov ebx, eax
mov ecx, edx
shld ecx, ebx, 8
movzx eax, byte [esi + 0x30]
cdq
shl ebx, 8
or ecx, edx
or ebx, eax
movzx eax, byte [esi + 0x2f]
shld ecx, ebx, 6
shr al, 2
movzx eax, al
cdq
shl ebx, 6
or ecx, edx
or ebx, eax
mov dword [esp + 0x2c], ecx
movzx eax, byte [esi + 0x34]
and al, 0xf
mov dword [esp + 0x44], ebx
movzx eax, al
cdq
mov ebx, eax
mov ecx, edx
movzx eax, byte [esi + 0x33]
shld ecx, ebx, 8
cdq
shl ebx, 8
or ecx, edx
or ebx, eax
movzx eax, byte [esi + 0x32]
shld ecx, ebx, 8
cdq
shl ebx, 8
or ecx, edx
or ebx, eax
movzx eax, byte [esi + 0x31]
shld ecx, ebx, 1
shr al, 7
movzx eax, al
add ebx, ebx
cdq
or ebx, eax
or ecx, edx
movzx eax, byte [esi + 0x37]
and al, 1
mov dword [esp + 0x74], ebx
movzx eax, al
cdq
mov ebx, eax
mov dword [esp + 0x70], ecx
movzx eax, byte [esi + 0x36]
mov ecx, edx
shld ecx, ebx, 8
cdq
shl ebx, 8
or ecx, edx
or ebx, eax
movzx eax, byte [esi + 0x35]
shld ecx, ebx, 8
cdq
shl ebx, 8
or ecx, edx
or ebx, eax
movzx eax, byte [esi + 0x34]
shr al, 4
shld ecx, ebx, 4
movzx eax, al
shl ebx, 4
cdq
or ebx, eax
mov dword [esp + 0x60], ebx
movzx eax, byte [esi + 0x39]
or ecx, edx
and al, 0x3f
mov dword [esp + 0x38], ecx
movzx eax, al
cdq
mov ebp, eax
mov ebx, edx
movzx eax, byte [esi + 0x38]
cdq
shld ebx, ebp, 8
or ebx, edx
shl ebp, 8
or ebp, eax
movzx eax, byte [esi + 0x37]
shr al, 1
movzx eax, al
cdq
shld ebx, ebp, 7
or ebx, edx
shl ebp, 7
or ebp, eax
mov dword [esp + 0xa0], ebx
movzx eax, byte [esi + 0x3c]
and al, 7
mov dword [esp + 0x9c], ebp
movzx eax, al
cdq
mov ecx, eax
mov edi, edx
movzx eax, byte [esi + 0x3b]
shld edi, ecx, 8
cdq
or edi, edx
shl ecx, 8
or ecx, eax
movzx eax, byte [esi + 0x3a]
cdq
mov esi, eax
mov eax, dword [esp + 0xd8]
shld edi, ecx, 0xa
shld edx, esi, 2
shl ecx, 0xa
shl esi, 2
mov dword [esp + 0x68], ecx
mov cl, byte [eax + 0x39]
shr cl, 6
movzx eax, cl
mov ecx, dword [esp + 0xd8]
cdq
or esi, eax
mov dword [esp + 0x40], edi
and esi, 0x1fffff
or dword [esp + 0x68], esi
movzx eax, byte [ecx + 0x3f]
cdq
mov esi, eax
mov edi, edx
movzx eax, byte [ecx + 0x3e]
shld edi, esi, 8
cdq
shl esi, 8
or edi, edx
or esi, eax
movzx eax, byte [ecx + 0x3d]
shld edi, esi, 8
cdq
shl esi, 8
or edi, edx
or esi, eax
movzx eax, byte [ecx + 0x3c]
shr al, 3
shld edi, esi, 5
movzx eax, al
cdq
shl esi, 5
or esi, eax
movzx eax, byte [ecx + 0x2c]
or edi, edx
mov dword [esp + 0xb0], esi
mov dword [esp + 0xb4], edi
cdq
mov ecx, eax
mov eax, dword [esp + 0xd8]
shld edx, ecx, 0x10
push 0
shl ecx, 0x10
movzx eax, byte [eax + 0x2a]
cdq
or ecx, eax
mov eax, dword [esp + 0xdc]
and ecx, 0x1fffff
mov dword [esp + 0x8c], ecx
xor ecx, ecx
push 0xa6f7d
movzx eax, byte [eax + 0x2b]
cdq
shld edx, eax, 8
push edi
shl eax, 8
or ecx, edx
or dword [esp + 0x94], eax
push esi
mov dword [esp + 0xa0], ecx
call fcn.004ee710
sub dword [esp + 0x88], eax
mov eax, dword [esp + 0xd8]
sbb dword [esp + 0x90], edx
push 0
push 0xa6f7d
movzx eax, byte [eax + 0x27]
and al, 7
movzx eax, al
cdq
mov ecx, edx
shld ecx, eax, 8
push ebx
shl eax, 8
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xe4]
push ebp
movzx eax, byte [eax + 0x26]
cdq
or dword [esp + 0x34], eax
or ecx, edx
mov eax, dword [esp + 0x34]
shld ecx, eax, 8
shl eax, 8
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xe8]
movzx eax, byte [eax + 0x25]
cdq
or dword [esp + 0x34], eax
or ecx, edx
mov eax, dword [esp + 0x34]
shld ecx, eax, 2
shl eax, 2
mov dword [esp + 0x34], eax
mov eax, dword [esp + 0xe8]
movzx eax, byte [eax + 0x24]
shr al, 6
movzx eax, al
cdq
or dword [esp + 0x34], eax
or ecx, edx
mov dword [esp + 0x7c], ecx
call fcn.004ee710
sub dword [esp + 0x24], eax
push 0
sbb dword [esp + 0x70], edx
push 0xf39ad
push edi
push esi
call fcn.004ee710
sub dword [esp + 0x24], eax
push 0
sbb dword [esp + 0x70], edx
push 0x215d1
push dword [esp + 0x48]
push dword [esp + 0x74]
call fcn.004ee710
add dword [esp + 0x24], eax
adc dword [esp + 0x6c], edx
mov eax, dword [esp + 0xd8]
push 0
push 0x9fb67
push dword [esp + 0x48]
movzx eax, byte [eax + 0x22]
and al, 1
movzx eax, al
cdq
mov ecx, edx
shld ecx, eax, 8
push dword [esp + 0x74]
shl eax, 8
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xe8]
movzx eax, byte [eax + 0x21]
cdq
or dword [esp + 0x24], eax
or ecx, edx
mov eax, dword [esp + 0x24]
shld ecx, eax, 8
shl eax, 8
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xe8]
movzx eax, byte [eax + 0x20]
cdq
or dword [esp + 0x24], eax
or ecx, edx
mov eax, dword [esp + 0x24]
shld ecx, eax, 4
shl eax, 4
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xe8]
movzx eax, byte [eax + 0x1f]
shr al, 4
movzx eax, al
cdq
or dword [esp + 0x24], eax
or ecx, edx
mov dword [esp + 0x58], ecx
call fcn.004ee710
add dword [esp + 0x14], eax
push 0
adc dword [esp + 0x4c], edx
push 0xa6f7d
push dword [esp + 0x78]
push dword [esp + 0x80]
call fcn.004ee710
sub dword [esp + 0x14], eax
push 0
sbb dword [esp + 0x4c], edx
push 0xf39ad
push ebx
push ebp
call fcn.004ee710
sub dword [esp + 0x14], eax
push 0
sbb dword [esp + 0x4c], edx
push 0x72d18
push edi
push esi
call fcn.004ee710
add dword [esp + 0x14], eax
push 0
adc dword [esp + 0x4c], edx
push 0x215d1
push dword [esp + 0x40]
push dword [esp + 0x6c]
call fcn.004ee710
add dword [esp + 0x14], eax
mov eax, dword [esp + 0xd8]
adc dword [esp + 0x48], edx
movzx eax, byte [eax + 0x12]
and al, 7
movzx eax, al
cdq
mov ecx, edx
shld ecx, eax, 8
shl eax, 8
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xd8]
movzx eax, byte [eax + 0x11]
cdq
or dword [esp + 0x20], eax
or ecx, edx
mov eax, dword [esp + 0x20]
shld ecx, eax, 8
push 0
shl eax, 8
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0xdc]
push 0xa2c13
push dword [esp + 0x34]
movzx eax, byte [eax + 0x10]
cdq
or dword [esp + 0x2c], eax
or ecx, edx
mov eax, dword [esp + 0x2c]
push dword [esp + 0x50]
shld ecx, eax, 2
shl eax, 2
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xe8]
movzx eax, byte [eax + 0xf]
shr al, 6
movzx eax, al
cdq
or dword [esp + 0x30], eax
or ecx, edx
mov dword [esp + 0x9c], ecx
call fcn.004ee710
add dword [esp + 0x20], eax
mov eax, dword [esp + 0xd8]
adc dword [esp + 0x8c], edx
push 0
push 0x9fb67
movzx eax, byte [eax + 0x17]
push dword [esp + 0x34]
cdq
mov ecx, eax
mov eax, dword [esp + 0xe4]
push dword [esp + 0x50]
shld edx, ecx, 0x10
movzx eax, byte [eax + 0x15]
cdq
shl ecx, 0x10
or ecx, eax
mov eax, dword [esp + 0xe8]
and ecx, 0x1fffff
mov dword [esp + 0x44], ecx
xor ecx, ecx
movzx eax, byte [eax + 0x16]
cdq
shld edx, eax, 8
shl eax, 8
or ecx, edx
or dword [esp + 0x44], eax
mov dword [esp + 0x64], ecx
call fcn.004ee710
add dword [esp + 0x34], eax
push 0
adc dword [esp + 0x58], edx
push 0x72d18
push dword [esp + 0x78]
push dword [esp + 0x80]
call fcn.004ee710
add dword [esp + 0x34], eax
push 0
adc dword [esp + 0x58], edx
push 0xa2c13
push dword [esp + 0x40]
push dword [esp + 0x6c]
call fcn.004ee710
add dword [esp + 0x34], eax
mov eax, dword [esp + 0xd8]
adc dword [esp + 0x54], edx
movzx eax, byte [eax + 0x1c]
and al, 0x7f
movzx eax, al
cdq
mov ecx, edx
shld ecx, eax, 8
shl eax, 8
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xd8]
push 0
push 0x9fb67
push dword [esp + 0x40]
movzx eax, byte [eax + 0x1b]
cdq
or dword [esp + 0x34], eax
or ecx, edx
mov eax, dword [esp + 0x34]
push dword [esp + 0x6c]
shld ecx, eax, 6
shl eax, 6
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe8]
movzx eax, byte [eax + 0x1a]
shr al, 2
movzx eax, al
cdq
or dword [esp + 0x38], eax
or ecx, edx
mov dword [esp + 0x68], ecx
call fcn.004ee710
add dword [esp + 0x28], eax
push 0
adc dword [esp + 0x5c], edx
push 0xf39ad
push dword [esp + 0x78]
push dword [esp + 0x80]
call fcn.004ee710
sub dword [esp + 0x28], eax
push 0
sbb dword [esp + 0x5c], edx
push 0x72d18
push ebx
push ebp
call fcn.004ee710
mov ebp, dword [esp + 0x28]
mov ebx, dword [esp + 0x58]
add ebp, eax
push 0
push 0xa2c13
push dword [esp + 0x48]
adc ebx, edx
push dword [esp + 0x74]
call fcn.004ee710
push 0
push 0x215d1
push dword [esp + 0x34]
add ebp, eax
push dword [esp + 0x50]
adc ebx, edx
call fcn.004ee710
add ebp, eax
mov eax, dword [esp + 0xd8]
mov dword [esp + 0x28], ebp
mov ebp, dword [esp + 0x20]
adc ebx, edx
mov dword [esp + 0x58], ebx
add ebp, 0x100000
movzx eax, byte [eax + 0x14]
mov ebx, dword [esp + 0x8c]
cdq
adc ebx, 0
mov ecx, edx
shld ecx, eax, 8
shrd ebp, ebx, 0x15
shl eax, 8
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xd8]
shr ebx, 0x15
mov dword [esp + 0x1c], ebp
mov dword [esp + 0x30], ebx
movzx eax, byte [eax + 0x13]
cdq
or dword [esp + 0x3c], eax
or ecx, edx
mov eax, dword [esp + 0x3c]
shld ecx, eax, 5
shl eax, 5
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0xd8]
push 0
push 0x72d18
push dword [esp + 0x34]
movzx eax, byte [eax + 0x12]
push dword [esp + 0x50]
shr al, 3
movzx eax, al
cdq
or dword [esp + 0x4c], eax
or ecx, edx
mov dword [esp + 0xa8], ecx
call fcn.004ee710
add dword [esp + 0x3c], eax
push 0
adc dword [esp + 0x9c], edx
push 0xa2c13
push dword [esp + 0x78]
push dword [esp + 0x80]
call fcn.004ee710
mov ecx, dword [esp + 0x3c]
add ecx, eax
mov eax, dword [esp + 0x98]
push 0
adc eax, edx
add ecx, ebp
mov ebp, dword [esp + 0x38]
adc eax, ebx
mov dword [esp + 0x40], ecx
mov ebx, dword [esp + 0x58]
add ebp, 0x100000
mov dword [esp + 0x9c], eax
mov eax, dword [esp + 0xdc]
adc ebx, 0
push 0x9fb67
push dword [esp + 0x78]
shrd ebp, ebx, 0x15
movzx eax, byte [eax + 0x1a]
and al, 3
sar ebx, 0x15
movzx eax, al
cdq
mov ecx, edx
mov dword [esp + 0x58], ebp
shld ecx, eax, 8
push dword [esp + 0x80]
shl eax, 8
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x60], ebx
movzx eax, byte [eax + 0x19]
cdq
or dword [esp + 0x28], eax
or ecx, edx
mov eax, dword [esp + 0x28]
shld ecx, eax, 8
shl eax, 8
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xe8]
movzx eax, byte [eax + 0x18]
cdq
or dword [esp + 0x28], eax
or ecx, edx
mov eax, dword [esp + 0x28]
shld ecx, eax, 3
shl eax, 3
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xe8]
movzx eax, byte [eax + 0x17]
shr al, 5
movzx eax, al
cdq
or dword [esp + 0x28], eax
or ecx, edx
mov dword [esp + 0x8c], ecx
call fcn.004ee710
add dword [esp + 0x18], eax
push 0
adc dword [esp + 0x80], edx
push 0xf39ad
push dword [esp + 0x34]
push dword [esp + 0x50]
call fcn.004ee710
sub dword [esp + 0x18], eax
push 0
sbb dword [esp + 0x80], edx
push 0x72d18
push dword [esp + 0x40]
push dword [esp + 0x6c]
call fcn.004ee710
add dword [esp + 0x18], eax
push 0
adc dword [esp + 0x80], edx
push 0xa2c13
push dword [esp + 0xa8]
push dword [esp + 0xa8]
call fcn.004ee710
mov ecx, dword [esp + 0x18]
add ecx, eax
mov eax, dword [esp + 0x7c]
push 0
adc eax, edx
add ecx, ebp
mov ebp, dword [esp + 0x2c]
adc eax, ebx
mov dword [esp + 0x1c], ecx
mov ebx, dword [esp + 0x5c]
add ebp, 0x100000
mov dword [esp + 0x80], eax
mov eax, dword [esp + 0xdc]
adc ebx, 0
push 0x9fb67
push dword [esp + 0xa8]
shrd ebp, ebx, 0x15
movzx eax, byte [eax + 0x1f]
and al, 0xf
sar ebx, 0x15
movzx eax, al
cdq
mov ecx, edx
mov dword [esp + 0x70], ebp
shld ecx, eax, 8
push dword [esp + 0xa8]
shl eax, 8
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0x94], ebx
movzx eax, byte [eax + 0x1e]
cdq
or dword [esp + 0x20], eax
or ecx, edx
mov eax, dword [esp + 0x20]
shld ecx, eax, 8
shl eax, 8
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xe8]
movzx eax, byte [eax + 0x1d]
cdq
or dword [esp + 0x20], eax
or ecx, edx
mov eax, dword [esp + 0x20]
shld ecx, eax, 1
add eax, eax
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0xe8]
movzx eax, byte [eax + 0x1c]
shr al, 7
movzx eax, al
cdq
or dword [esp + 0x20], eax
or ecx, edx
mov dword [esp + 0x88], ecx
call fcn.004ee710
add dword [esp + 0x10], eax
push 0
adc dword [esp + 0x7c], edx
push 0xa6f7d
push dword [esp + 0x34]
push dword [esp + 0x50]
call fcn.004ee710
sub dword [esp + 0x10], eax
sbb dword [esp + 0x78], edx
push 0
push 0xf39ad
push dword [esp + 0x40]
push dword [esp + 0x6c]
call fcn.004ee710
sub dword [esp + 0x10], eax
push 0
sbb dword [esp + 0x7c], edx
push 0x72d18
push dword [esp + 0x48]
push dword [esp + 0x74]
call fcn.004ee710
add dword [esp + 0x10], eax
push 0
adc dword [esp + 0x7c], edx
push 0xa2c13
push edi
push esi
call fcn.004ee710
add dword [esp + 0x10], eax
mov esi, dword [esp + 0x78]
push 0
push 0x215d1
push dword [esp + 0x78]
adc esi, edx
push dword [esp + 0x80]
call fcn.004ee710
mov ecx, dword [esp + 0x10]
add ecx, eax
mov eax, dword [esp + 0xd8]
push 0
adc esi, edx
add ecx, ebp
mov dword [esp + 0x14], ecx
movzx eax, byte [eax + 0x24]
adc esi, ebx
mov ebx, dword [esp + 0x4c]
mov dword [esp + 0x7c], esi
mov esi, dword [esp + 0x18]
add esi, 0x100000
push 0x9fb67
adc ebx, 0
and al, 0x3f
movzx eax, al
cdq
mov ecx, eax
mov ebp, edx
mov eax, dword [esp + 0xe0]
shld ebp, ecx, 8
shrd esi, ebx, 0x15
shl ecx, 8
movzx eax, byte [eax + 0x23]
cdq
or ecx, eax
sar ebx, 0x15
mov eax, dword [esp + 0xe0]
or ebp, edx
shld ebp, ecx, 7
push edi
push dword [esp + 0xbc]
movzx eax, byte [eax + 0x22]
shr al, 1
movzx eax, al
cdq
shl ecx, 7
or ebp, edx
or ecx, eax
mov dword [esp + 0xc8], ebx
mov dword [esp + 0x90], ecx
call fcn.004ee710
mov edi, dword [esp + 0x80]
push 0
push 0xa6f7d
push dword [esp + 0x40]
add edi, eax
push dword [esp + 0x6c]
adc ebp, edx
call fcn.004ee710
sub edi, eax
sbb ebp, edx
push 0
push 0xf39ad
push dword [esp + 0x48]
push dword [esp + 0x74]
call fcn.004ee710
push 0
push 0x215d1
push dword [esp + 0xa8]
sub edi, eax
push dword [esp + 0xa8]
sbb ebp, edx
call fcn.004ee710
add edi, eax
mov eax, dword [esp + 0xd8]
push 0
adc ebp, edx
add edi, esi
mov dword [esp + 0x84], edi
movzx eax, byte [eax + 0x29]
adc ebp, ebx
mov ebx, dword [esp + 0x70]
cdq
mov ecx, eax
mov dword [esp + 0x30], ebp
mov ebp, dword [esp + 0x28]
mov edi, edx
mov eax, dword [esp + 0xdc]
add ebp, 0x100000
push 0xa6f7d
push dword [esp + 0x48]
adc ebx, 0
movzx eax, byte [eax + 0x28]
push dword [esp + 0x74]
shld edi, ecx, 8
cdq
shl ecx, 8
or edi, edx
or ecx, eax
mov eax, dword [esp + 0xe8]
shld edi, ecx, 5
shrd ebp, ebx, 0x15
shl ecx, 5
movzx eax, byte [eax + 0x27]
shr al, 3
movzx eax, al
cdq
or ecx, eax
sar ebx, 0x15
mov dword [esp + 0x54], ebx
or edi, edx
mov dword [esp + 0x48], ecx
call fcn.004ee710
sub dword [esp + 0x38], eax
push 0
push 0x215d1
push dword [esp + 0xbc]
sbb edi, edx
push dword [esp + 0xbc]
call fcn.004ee710
mov ecx, dword [esp + 0x38]
add ecx, eax
mov eax, dword [esp + 0xd8]
adc edi, edx
add ecx, ebp
mov dword [esp + 0x38], ecx
movzx eax, byte [eax + 0x2f]
adc edi, ebx
mov ebx, dword [esp + 0x90]
mov dword [esp + 0x94], edi
mov edi, dword [esp + 0x88]
add edi, 0x100000
adc ebx, 0
and al, 3
movzx eax, al
cdq
shrd edi, ebx, 0x15
mov ecx, edx
shld ecx, eax, 8
sar ebx, 0x15
shl eax, 8
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0xd8]
movzx eax, byte [eax + 0x2e]
cdq
or dword [esp + 0x5c], eax
or ecx, edx
mov eax, dword [esp + 0x5c]
shld ecx, eax, 8
shl eax, 8
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0xd8]
movzx eax, byte [eax + 0x2d]
cdq
or dword [esp + 0x5c], eax
or ecx, edx
mov eax, dword [esp + 0x5c]
shld ecx, eax, 3
shl eax, 3
mov dword [esp + 0x5c], eax
mov eax, dword [esp + 0xd8]
movzx eax, byte [eax + 0x2c]
shr al, 5
movzx eax, al
cdq
or dword [esp + 0x5c], eax
or ecx, edx
add dword [esp + 0x5c], edi
mov eax, dword [esp + 0x98]
adc ecx, ebx
mov edx, dword [esp + 0xb8]
mov dword [esp + 0xa4], ecx
mov ecx, dword [esp + 0x3c]
add ecx, 0x100000
adc eax, 0
shrd ecx, eax, 0x15
shr eax, 0x15
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0x18]
add ecx, 0x100000
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x7c]
adc eax, 0
shrd ecx, eax, 0x15
sar eax, 0x15
mov dword [esp + 0xa0], eax
mov eax, dword [esp + 0x10]
add eax, 0x100000
mov dword [esp + 0x9c], ecx
mov ecx, dword [esp + 0x78]
adc ecx, 0
shrd eax, ecx, 0x15
shld edx, esi, 0x15
sar ecx, 0x15
shl esi, 0x15
mov dword [esp + 0xb4], ecx
mov ecx, eax
sub ecx, esi
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0xb4]
mov esi, dword [esp + 0x80]
sbb eax, edx
add dword [esp + 0x14], ecx
mov edx, dword [esp + 0x2c]
adc dword [esp + 0x48], eax
add esi, 0x100000
adc edx, 0
shld dword [esp + 0x44], ebp, 0x15
shrd esi, edx, 0x15
shl ebp, 0x15
sar edx, 0x15
mov ecx, esi
sub ecx, ebp
mov eax, edx
sbb eax, dword [esp + 0x44]
add dword [esp + 0x24], ecx
adc dword [esp + 0x6c], eax
shld edx, esi, 0x15
shl esi, 0x15
sub dword [esp + 0x80], esi
mov esi, dword [esp + 0x38]
sbb dword [esp + 0x2c], edx
add esi, 0x100000
mov ebp, dword [esp + 0x94]
mov edx, ebp
adc edx, 0
shrd esi, edx, 0x15
shld ebx, edi, 0x15
sar edx, 0x15
mov ecx, esi
shl edi, 0x15
mov eax, edx
sub ecx, edi
mov edi, dword [esp + 0x64]
push 0xffffffffffffffff
sbb eax, ebx
add dword [esp + 0x8c], ecx
push 0xfff59083
adc dword [esp + 0x98], eax
push dword [esp + 0xac]
shld edx, esi, 0x15
push dword [esp + 0x68]
shl esi, 0x15
sub dword [esp + 0x48], esi
mov esi, dword [esp + 0x94]
sbb ebp, edx
shld esi, edi, 0x15
mov dword [esp + 0xa4], ebp
shl edi, 0x15
call fcn.004ee710
mov ebx, dword [esp + 0x50]
sub eax, edi
mov ebp, dword [esp + 0x4c]
sbb edx, esi
add eax, dword [esp + 0x9c]
push 0xffffffffffffffff
adc edx, dword [esp + 0xa4]
add dword [esp + 0x2c], eax
push 0xfff59083
adc dword [esp + 0x60], edx
push dword [esp + 0x9c]
shld ebx, ebp, 0x15
push dword [esp + 0x44]
shl ebp, 0x15
call fcn.004ee710
push 0
push 0xf39ad
push dword [esp + 0xac]
mov esi, eax
mov edi, edx
push dword [esp + 0x68]
sub esi, ebp
sbb edi, ebx
call fcn.004ee710
push 0
push 0x215d1
push dword [esp + 0x98]
sub esi, eax
push dword [esp + 0x94]
sbb edi, edx
call fcn.004ee710
mov ebx, dword [esp + 0x30]
add esi, eax
mov ebp, dword [esp + 0x1c]
adc edi, edx
add esi, dword [esp + 0xa8]
push 0
adc edi, dword [esp + 0xb0]
add dword [esp + 0x38], esi
push 0x9fb67
adc dword [esp + 0x5c], edi
push dword [esp + 0x98]
shld ebx, ebp, 0x15
push dword [esp + 0x94]
shl ebp, 0x15
call fcn.004ee710
push 0
push 0xa6f7d
push dword [esp + 0x34]
mov esi, eax
mov edi, edx
push dword [esp + 0x8c]
sub esi, ebp
sbb edi, ebx
call fcn.004ee710
mov ebp, dword [esp + 0x38]
sub esi, eax
push 0
push 0xf39ad
push dword [esp + 0x9c]
sbb edi, edx
push ebp
call fcn.004ee710
push 0
push 0x72d18
push dword [esp + 0xac]
sub esi, eax
push dword [esp + 0x68]
sbb edi, edx
call fcn.004ee710
push 0
push 0x215d1
push dword [esp + 0x74]
add esi, eax
push dword [esp + 0x30]
adc edi, edx
call fcn.004ee710
add esi, eax
push 0
adc edi, edx
add dword [esp + 0x24], esi
push 0xa2c13
adc dword [esp + 0x94], edi
xor esi, esi
mov edi, dword [esp + 0xe0]
mov bh, byte [edi + 2]
movzx eax, bh
cdq
mov ecx, eax
movzx eax, byte [edi]
shld edx, ecx, 0x10
cdq
shl ecx, 0x10
or ecx, eax
movzx eax, byte [edi + 1]
mov edi, dword [esp + 0x50]
and ecx, 0x1fffff
cdq
shld edx, eax, 8
push edi
push dword [esp + 0x20]
shl eax, 8
or esi, edx
or ecx, eax
mov dword [esp + 0x70], ecx
call fcn.004ee710
add dword [esp + 0x60], eax
mov eax, dword [esp + 0xd8]
adc esi, edx
mov dword [esp + 0x68], esi
push 0
mov bl, byte [eax + 5]
movzx eax, byte [eax + 7]
and al, 0x7f
movzx eax, al
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [esp + 0xdc]
shld esi, ecx, 8
push 0x9fb67
shl ecx, 8
movzx eax, byte [eax + 6]
cdq
or ecx, eax
or esi, edx
mov al, bl
shr al, 2
shld esi, ecx, 6
movzx eax, al
shl ecx, 6
cdq
or ecx, eax
or esi, edx
mov dword [esp + 0x54], ecx
push edi
push dword [esp + 0x20]
call fcn.004ee710
add dword [esp + 0x4c], eax
mov edi, dword [esp + 0x80]
push 0
adc esi, edx
push 0x72d18
mov dword [esp + 0x8c], esi
mov esi, dword [esp + 0x34]
push esi
push edi
call fcn.004ee710
add dword [esp + 0x4c], eax
push 0
adc dword [esp + 0x88], edx
push 0xa2c13
push dword [esp + 0x74]
push dword [esp + 0x30]
call fcn.004ee710
add dword [esp + 0x4c], eax
mov eax, dword [esp + 0xd8]
adc dword [esp + 0x84], edx
push 0
push 0x9fb67
movzx eax, byte [eax + 0xd]
and al, 1
movzx eax, al
cdq
mov ecx, edx
shld ecx, eax, 8
push dword [esp + 0x74]
shl eax, 8
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xe4]
push dword [esp + 0x30]
movzx eax, byte [eax + 0xc]
cdq
or dword [esp + 0x2c], eax
or ecx, edx
mov eax, dword [esp + 0x2c]
shld ecx, eax, 8
shl eax, 8
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0xe8]
movzx eax, byte [eax + 0xb]
cdq
or dword [esp + 0x2c], eax
or ecx, edx
mov eax, dword [esp + 0x2c]
shld ecx, eax, 4
shl eax, 4
mov dword [esp + 0x2c], eax
mov eax, dword [esp + 0xe8]
movzx eax, byte [eax + 0xa]
shr al, 4
movzx eax, al
cdq
or dword [esp + 0x2c], eax
or ecx, edx
mov dword [esp + 0x50], ecx
call fcn.004ee710
add dword [esp + 0x1c], eax
mov eax, dword [esp + 0x40]
push 0
push 0xf39ad
push esi
adc eax, edx
push edi
mov dword [esp + 0x50], eax
call fcn.004ee710
sub dword [esp + 0x1c], eax
mov edi, dword [esp + 0x94]
mov esi, dword [esp + 0x40]
push 0
push 0x72d18
push edi
push ebp
sbb esi, edx
call fcn.004ee710
mov ebp, dword [esp + 0x1c]
push 0
push 0xa2c13
push dword [esp + 0x98]
add ebp, eax
push dword [esp + 0x94]
adc esi, edx
call fcn.004ee710
push 0
push 0x215d1
push dword [esp + 0x50]
add ebp, eax
push dword [esp + 0x20]
adc esi, edx
call fcn.004ee710
add ebp, eax
mov dword [esp + 0x1c], ebp
mov ebp, dword [esp + 0x68]
adc esi, edx
mov dword [esp + 0x40], esi
mov esi, dword [esp + 0x60]
add esi, 0x100000
push 0
adc ebp, 0
and bl, 3
movzx eax, bl
cdq
mov ecx, edx
shr bh, 5
shld ecx, eax, 8
push 0x72d18
shl eax, 8
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xe0]
push dword [esp + 0x50]
shrd esi, ebp, 0x15
push dword [esp + 0x20]
movzx eax, byte [eax + 4]
cdq
or dword [esp + 0x40], eax
or ecx, edx
mov eax, dword [esp + 0x40]
shld ecx, eax, 8
sar ebp, 0x15
shl eax, 8
mov dword [esp + 0x40], eax
mov eax, dword [esp + 0xe8]
mov dword [esp + 0xe0], esi
mov dword [esp + 0xdc], ebp
movzx eax, byte [eax + 3]
cdq
or dword [esp + 0x40], eax
or ecx, edx
mov eax, dword [esp + 0x40]
shld ecx, eax, 3
shl eax, 3
mov dword [esp + 0x40], eax
movzx eax, bh
mov ebx, dword [esp + 0x40]
cdq
or ecx, edx
or ebx, eax
mov dword [esp + 0x80], ecx
call fcn.004ee710
push 0
push 0xa2c13
push dword [esp + 0x34]
add ebx, eax
push dword [esp + 0x8c]
mov dword [esp + 0x40], ebx
mov ebx, dword [esp + 0x80]
adc ebx, edx
call fcn.004ee710
mov ecx, dword [esp + 0x30]
add ecx, eax
adc ebx, edx
add ecx, esi
mov dword [esp + 0x30], ecx
adc ebx, ebp
mov ebp, dword [esp + 0x4c]
mov dword [esp + 0x70], ebx
add ebp, 0x100000
mov eax, dword [esp + 0xd8]
mov ebx, dword [esp + 0x84]
adc ebx, 0
push 0
movzx eax, byte [eax + 0xa]
and al, 0xf
movzx eax, al
cdq
mov ecx, eax
mov esi, edx
mov eax, dword [esp + 0xdc]
shld esi, ecx, 8
push 0x9fb67
push dword [esp + 0x34]
movzx eax, byte [eax + 9]
cdq
shl ecx, 8
or esi, edx
or ecx, eax
mov eax, dword [esp + 0xe4]
push dword [esp + 0x8c]
shld esi, ecx, 8
shrd ebp, ebx, 0x15
movzx eax, byte [eax + 8]
cdq
shl ecx, 8
or esi, edx
or ecx, eax
sar ebx, 0x15
mov eax, dword [esp + 0xe8]
shld esi, ecx, 1
mov dword [esp + 0xd4], ebp
add ecx, ecx
mov dword [esp + 0xd0], ebx
movzx eax, byte [eax + 7]
shr al, 7
movzx eax, al
cdq
or ecx, eax
or esi, edx
mov dword [esp + 0x74], ecx
call fcn.004ee710
add dword [esp + 0x64], eax
push 0
push 0xf39ad
push dword [esp + 0x50]
adc esi, edx
push dword [esp + 0x20]
call fcn.004ee710
sub dword [esp + 0x64], eax
push 0
push 0x72d18
push dword [esp + 0x74]
sbb esi, edx
push dword [esp + 0x30]
call fcn.004ee710
add dword [esp + 0x64], eax
push 0
adc esi, edx
push 0xa2c13
push edi
mov dword [esp + 0x50], esi
mov esi, dword [esp + 0x44]
push esi
call fcn.004ee710
mov ecx, dword [esp + 0x64]
add ecx, eax
mov eax, dword [esp + 0x44]
adc eax, edx
add ecx, ebp
mov ebp, dword [esp + 0x1c]
adc eax, ebx
mov dword [esp + 0x64], ecx
mov ebx, dword [esp + 0x40]
add ebp, 0x100000
mov dword [esp + 0x44], eax
adc ebx, 0
shrd ebp, ebx, 0x15
sar ebx, 0x15
mov dword [esp + 0xb8], ebp
mov dword [esp + 0xb0], ebx
mov eax, dword [esp + 0xd8]
push 0
push 0x9fb67
push edi
movzx eax, byte [eax + 0xf]
and al, 0x3f
movzx eax, al
cdq
mov ecx, edx
shld ecx, eax, 8
push esi
shl eax, 8
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xe8]
movzx eax, byte [eax + 0xe]
cdq
or dword [esp + 0x60], eax
or ecx, edx
mov eax, dword [esp + 0x60]
shld ecx, eax, 7
shl eax, 7
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xe8]
movzx eax, byte [eax + 0xd]
shr al, 1
movzx eax, al
cdq
or dword [esp + 0x60], eax
or ecx, edx
mov dword [esp + 0x84], ecx
call fcn.004ee710
mov edi, dword [esp + 0x50]
mov esi, dword [esp + 0x74]
add edi, eax
push 0
push 0xa6f7d
push dword [esp + 0x50]
adc esi, edx
push dword [esp + 0x20]
call fcn.004ee710
push 0
push 0xf39ad
push dword [esp + 0x74]
sub edi, eax
push dword [esp + 0x30]
sbb esi, edx
call fcn.004ee710
push 0
push 0x72d18
push dword [esp + 0x98]
sub edi, eax
push dword [esp + 0x94]
sbb esi, edx
call fcn.004ee710
add edi, eax
push 0
adc esi, edx
mov dword [esp + 0x54], edi
mov edi, dword [esp + 0x60]
push 0xa2c13
mov dword [esp + 0x7c], esi
mov esi, dword [esp + 0xac]
push esi
push edi
call fcn.004ee710
add dword [esp + 0x50], eax
mov eax, dword [esp + 0x74]
push 0
push 0x215d1
push dword [esp + 0x34]
adc eax, edx
push dword [esp + 0x8c]
mov dword [esp + 0x84], eax
call fcn.004ee710
mov ecx, dword [esp + 0x50]
add ecx, eax
mov eax, dword [esp + 0x74]
adc eax, edx
add ecx, ebp
mov dword [esp + 0x50], ecx
adc eax, ebx
mov ebx, dword [esp + 0x20]
mov ebp, dword [esp + 0x8c]
add ebx, 0x100000
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0xa8]
adc ebp, 0
shld dword [esp + 0xac], eax, 0x15
push 0
push 0x9fb67
shrd ebx, ebp, 0x15
push esi
shl eax, 0x15
sar ebp, 0x15
push edi
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x90], ebp
mov dword [esp + 0xb8], eax
call fcn.004ee710
push 0
push 0xa6f7d
push dword [esp + 0x74]
mov esi, eax
mov edi, edx
sub esi, dword [esp + 0xb4]
push dword [esp + 0x30]
sbb edi, dword [esp + 0xbc]
call fcn.004ee710
push 0
push 0xf39ad
push dword [esp + 0x98]
sub esi, eax
push dword [esp + 0x94]
sbb edi, edx
call fcn.004ee710
push 0
push 0x215d1
push dword [esp + 0x9c]
sub esi, eax
push dword [esp + 0x44]
sbb edi, edx
call fcn.004ee710
add esi, eax
mov eax, dword [esp + 0x9c]
push 0xffffffffffffffff
adc edi, edx
add esi, ebx
mov ebx, dword [esp + 0x38]
adc edi, ebp
add dword [esp + 0x40], esi
mov ebp, dword [esp + 0x58]
adc dword [esp + 0x9c], edi
add ebx, 0x100000
push 0xfff59083
push dword [esp + 0x98]
adc ebp, 0
shld dword [esp + 0xac], eax, 0x15
push dword [esp + 0x94]
shrd ebx, ebp, 0x15
shl eax, 0x15
sar ebp, 0x15
mov dword [esp + 0xac], eax
call fcn.004ee710
push 0
push 0x215d1
push dword [esp + 0xac]
mov esi, eax
mov edi, edx
sub esi, dword [esp + 0xa8]
push dword [esp + 0x68]
sbb edi, dword [esp + 0xb0]
call fcn.004ee710
add esi, eax
adc edi, edx
mov edx, dword [esp + 0x28]
add esi, ebx
adc edi, ebp
add dword [esp + 0x18], esi
mov esi, dword [esp + 0x58]
adc dword [esp + 0x7c], edi
add edx, 0x100000
adc esi, 0
mov eax, dword [esp + 0xbc]
mov edi, dword [esp + 0xb4]
shld edi, eax, 0x15
shrd edx, esi, 0x15
shl eax, 0x15
sar esi, 0x15
mov ecx, edx
sub ecx, eax
mov eax, esi
sbb eax, edi
add dword [esp + 0x10], ecx
mov ecx, dword [esp + 0x30]
adc dword [esp + 0x78], eax
add ecx, 0x100000
mov eax, dword [esp + 0x70]
adc eax, 0
mov edi, dword [esp + 0x80]
shrd ecx, eax, 0x15
sar eax, 0x15
mov dword [esp + 0xac], eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0xbc], ecx
mov ecx, dword [esp + 0x64]
add ecx, 0x100000
adc eax, 0
shrd ecx, eax, 0x15
sar eax, 0x15
mov dword [esp + 0xa4], eax
mov eax, dword [esp + 0x74]
mov dword [esp + 0xa8], ecx
mov ecx, dword [esp + 0x50]
add ecx, 0x100000
adc eax, 0
shrd ecx, eax, 0x15
sar eax, 0x15
mov dword [esp + 0xb4], eax
mov eax, dword [esp + 0x2c]
shld edi, eax, 0x15
mov dword [esp + 0x94], ecx
shl eax, 0x15
sub ecx, eax
mov eax, dword [esp + 0xb4]
sbb eax, edi
add dword [esp + 0x20], ecx
mov edi, dword [esp + 0x98]
adc dword [esp + 0x8c], eax
mov eax, dword [esp + 0x3c]
add eax, 0x100000
adc edi, 0
shld ebp, ebx, 0x15
shrd eax, edi, 0x15
shl ebx, 0x15
sar edi, 0x15
mov dword [esp + 0x2c], eax
sub eax, ebx
mov ebx, dword [esp + 0x7c]
mov dword [esp + 0x80], edi
sbb edi, ebp
add dword [esp + 0x34], eax
mov eax, dword [esp + 0x18]
adc dword [esp + 0x54], edi
add eax, 0x100000
mov ebp, dword [esp + 0x78]
adc ebx, 0
shrd eax, ebx, 0x15
shld esi, edx, 0x15
sar ebx, 0x15
shl edx, 0x15
mov dword [esp + 0x90], eax
sub eax, edx
mov dword [esp + 0x38], ebx
sbb ebx, esi
add dword [esp + 0x28], eax
adc dword [esp + 0x58], ebx
mov ebx, dword [esp + 0x10]
add ebx, 0x100000
adc ebp, 0
shrd ebx, ebp, 0x15
sar ebp, 0x15
mov dword [esp + 0xa0], ebx
mov dword [esp + 0x9c], ebp
mov esi, dword [esp + 0xcc]
mov edi, dword [esp + 0xd0]
push 0
push 0xa2c13
push ebp
shld esi, edi, 0x15
push ebx
shl edi, 0x15
call fcn.004ee710
sub eax, edi
mov edi, dword [esp + 0xc4]
push 0
sbb edx, esi
add dword [esp + 0x64], eax
mov esi, dword [esp + 0xc4]
adc dword [esp + 0x6c], edx
push 0x9fb67
push ebp
shld esi, edi, 0x15
push ebx
shl edi, 0x15
call fcn.004ee710
sub eax, edi
mov edi, dword [esp + 0xbc]
push 0
sbb edx, esi
add eax, edi
mov esi, dword [esp + 0xb0]
adc edx, esi
add dword [esp + 0x50], eax
mov eax, dword [esp + 0xbc]
adc dword [esp + 0x88], edx
shld dword [esp + 0xb4], eax, 0x15
push 0x215d1
push ebp
shl eax, 0x15
push ebx
mov dword [esp + 0xc8], eax
call fcn.004ee710
sub eax, dword [esp + 0xb8]
mov ebp, dword [esp + 0xa8]
sbb edx, dword [esp + 0xb0]
add eax, ebp
mov ebx, dword [esp + 0xa4]
mov ecx, dword [esp + 0x68]
adc edx, ebx
add dword [esp + 0x1c], eax
push 0
adc dword [esp + 0x44], edx
mov edx, dword [esp + 0x64]
push 0x72d18
push dword [esp + 0xa4]
shrd edx, ecx, 0x15
push dword [esp + 0xac]
sar ecx, 0x15
shld esi, edi, 0x15
mov dword [esp + 0xd4], edx
mov dword [esp + 0xd0], ecx
shl edi, 0x15
call fcn.004ee710
mov ecx, dword [esp + 0x70]
sub eax, edi
mov edi, dword [esp + 0xc0]
sbb edx, esi
mov esi, dword [esp + 0xc4]
add eax, esi
adc edx, edi
add dword [esp + 0x30], eax
mov eax, dword [esp + 0x30]
adc ecx, edx
mov edx, dword [esp + 0x84]
mov dword [esp + 0x70], ecx
shrd eax, ecx, 0x15
sar ecx, 0x15
add dword [esp + 0x4c], eax
mov dword [esp + 0xc4], eax
mov eax, dword [esp + 0x4c]
adc edx, ecx
mov dword [esp + 0xc0], ecx
mov ecx, edx
mov dword [esp + 0x84], edx
push 0xffffffffffffffff
push 0xfff0c653
push dword [esp + 0xa4]
shrd eax, ecx, 0x15
push dword [esp + 0xac]
sar ecx, 0x15
shld ebx, ebp, 0x15
mov dword [esp + 0xc0], eax
mov dword [esp + 0xc8], ecx
shl ebp, 0x15
call fcn.004ee710
mov ecx, dword [esp + 0x44]
sub eax, ebp
mov ebp, dword [esp + 0x94]
sbb edx, ebx
add eax, dword [esp + 0xb0]
mov ebx, dword [esp + 0x64]
adc edx, dword [esp + 0xb8]
add ebx, eax
mov eax, ebx
mov dword [esp + 0x64], ebx
mov ebx, dword [esp + 0x1c]
adc ecx, edx
mov edx, dword [esp + 0x40]
mov dword [esp + 0x44], ecx
shrd eax, ecx, 0x15
push 0xffffffffffffffff
sar ecx, 0x15
add ebx, eax
mov dword [esp + 0xd0], ecx
adc edx, ecx
mov dword [esp + 0xd4], eax
mov eax, ebx
mov dword [esp + 0x20], ebx
mov ebx, dword [esp + 0xb8]
mov ecx, edx
push 0xfff59083
push dword [esp + 0xa4]
shrd eax, ecx, 0x15
push dword [esp + 0xac]
sar ecx, 0x15
shld ebx, ebp, 0x15
mov dword [esp + 0x50], edx
mov dword [esp + 0xbc], eax
mov dword [esp + 0xb8], ecx
shl ebp, 0x15
call fcn.004ee710
mov ecx, dword [esp + 0x74]
sub eax, ebp
sbb edx, ebx
add eax, dword [esp + 0xac]
mov ebx, dword [esp + 0x50]
adc edx, dword [esp + 0xa8]
add ebx, eax
mov eax, ebx
mov dword [esp + 0x50], ebx
adc ecx, edx
mov edx, dword [esp + 0x20]
mov dword [esp + 0x74], ecx
shrd eax, ecx, 0x15
sar ecx, 0x15
add edx, eax
mov dword [esp + 0xbc], eax
mov eax, dword [esp + 0x8c]
adc eax, ecx
mov dword [esp + 0xb4], ecx
mov ecx, edx
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x80]
mov ebx, eax
mov dword [esp + 0x8c], eax
mov eax, dword [esp + 0x2c]
shld edx, eax, 0x15
shrd ecx, ebx, 0x15
shl eax, 0x15
sar ebx, 0x15
mov dword [esp + 0xa4], ecx
sub ecx, eax
mov dword [esp + 0x88], ebx
sbb ebx, edx
mov edx, dword [esp + 0x3c]
add edx, ecx
mov ecx, dword [esp + 0x98]
mov eax, edx
mov dword [esp + 0x3c], edx
adc ecx, ebx
mov edx, dword [esp + 0x34]
mov dword [esp + 0x98], ecx
shrd eax, ecx, 0x15
push 0
sar ecx, 0x15
add edx, eax
mov dword [esp + 0x84], eax
mov eax, dword [esp + 0x58]
adc eax, ecx
mov dword [esp + 0x70], ecx
mov ebx, eax
mov dword [esp + 0x58], eax
mov eax, dword [esp + 0x94]
mov ecx, edx
shrd ecx, ebx, 0x15
mov dword [esp + 0x38], edx
mov edx, dword [esp + 0x3c]
shld edx, eax, 0x15
mov dword [esp + 0x60], ecx
shl eax, 0x15
sar ebx, 0x15
sub ecx, eax
mov dword [esp + 0x4c], ebx
sbb ebx, edx
mov edx, dword [esp + 0x1c]
add edx, ecx
mov ecx, dword [esp + 0x80]
mov eax, edx
mov dword [esp + 0x1c], edx
mov edx, dword [esp + 0x2c]
adc ecx, ebx
mov dword [esp + 0x80], ecx
shrd eax, ecx, 0x15
push 0xa2c13
sar ecx, 0x15
add edx, eax
mov dword [esp + 0x98], eax
mov eax, dword [esp + 0x60]
adc eax, ecx
mov dword [esp + 0x40], ecx
mov ebx, eax
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0xa8]
mov ecx, edx
shrd ecx, ebx, 0x15
mov dword [esp + 0x30], edx
mov edx, dword [esp + 0xa4]
shld edx, eax, 0x15
mov dword [esp + 0x2c], ecx
shl eax, 0x15
sar ebx, 0x15
sub ecx, eax
mov dword [esp + 0x1c], ebx
sbb ebx, edx
mov edx, dword [esp + 0x18]
add edx, ecx
mov ecx, dword [esp + 0x80]
mov eax, edx
mov dword [esp + 0x18], edx
adc ecx, ebx
mov dword [esp + 0x80], ecx
shrd eax, ecx, 0x15
shld edi, esi, 0x15
sar ecx, 0x15
push ecx
push eax
mov dword [esp + 0xa4], eax
mov dword [esp + 0x3c], ecx
shl esi, 0x15
call fcn.004ee710
mov ecx, dword [esp + 0x60]
sub eax, esi
sbb edx, edi
add ecx, eax
mov eax, dword [esp + 0x68]
mov dword [esp + 0x60], ecx
mov ebx, dword [esp + 0xc4]
adc eax, edx
mov ebp, dword [esp + 0xc0]
mov esi, ecx
push 0
push 0x72d18
push dword [esp + 0x34]
mov edi, eax
mov dword [esp + 0x74], eax
push dword [esp + 0xa0]
shrd esi, edi, 0x15
shld ebp, ebx, 0x15
sar edi, 0x15
shl ebx, 0x15
call fcn.004ee710
mov ecx, dword [esp + 0x30]
sub eax, ebx
mov ebx, dword [esp + 0xb0]
sbb edx, ebp
add eax, esi
mov ebp, dword [esp + 0xb8]
adc edx, edi
add ecx, eax
mov eax, dword [esp + 0x70]
adc eax, edx
mov dword [esp + 0x30], ecx
mov edx, dword [esp + 0x68]
shld edi, esi, 0x15
push 0
shl esi, 0x15
sub dword [esp + 0x64], esi
mov esi, ecx
push 0x9fb67
push dword [esp + 0x34]
sbb edx, edi
mov dword [esp + 0x7c], eax
push dword [esp + 0xa0]
mov edi, eax
mov dword [esp + 0x78], edx
shrd esi, edi, 0x15
shld ebp, ebx, 0x15
sar edi, 0x15
shl ebx, 0x15
call fcn.004ee710
mov ecx, dword [esp + 0x84]
sub eax, ebx
mov ebx, dword [esp + 0x4c]
sbb edx, ebp
add eax, esi
mov ebp, dword [esp + 0xcc]
adc edx, edi
add ebx, eax
mov eax, dword [esp + 0x70]
adc ecx, edx
mov dword [esp + 0x4c], ebx
shld edi, esi, 0x15
push 0xffffffffffffffff
shl esi, 0x15
sub dword [esp + 0x34], esi
mov esi, ebx
mov ebx, dword [esp + 0xd4]
sbb eax, edi
mov dword [esp + 0x88], ecx
push 0xfff0c653
push dword [esp + 0x34]
mov edi, ecx
mov dword [esp + 0x7c], eax
push dword [esp + 0xa0]
shrd esi, edi, 0x15
shld ebp, ebx, 0x15
sar edi, 0x15
shl ebx, 0x15
call fcn.004ee710
mov ecx, dword [esp + 0x64]
sub eax, ebx
sbb edx, ebp
add eax, esi
adc edx, edi
add ecx, eax
mov eax, dword [esp + 0x44]
mov dword [esp + 0x64], ecx
mov ebx, dword [esp + 0xac]
adc eax, edx
mov edx, dword [esp + 0x84]
mov ebp, dword [esp + 0xa8]
shld edi, esi, 0x15
push 0
shl esi, 0x15
sub dword [esp + 0x50], esi
mov esi, ecx
push 0x215d1
push dword [esp + 0x34]
sbb edx, edi
mov dword [esp + 0x50], eax
push dword [esp + 0xa0]
mov edi, eax
mov dword [esp + 0x94], edx
shrd esi, edi, 0x15
shld ebp, ebx, 0x15
sar edi, 0x15
shl ebx, 0x15
call fcn.004ee710
mov ecx, dword [esp + 0x40]
sub eax, ebx
mov ebx, dword [esp + 0x1c]
sbb edx, ebp
add eax, esi
mov ebp, dword [esp + 0xb4]
adc edx, edi
add ebx, eax
mov eax, dword [esp + 0x44]
adc ecx, edx
mov dword [esp + 0x1c], ebx
shld edi, esi, 0x15
push 0xffffffffffffffff
shl esi, 0x15
sub dword [esp + 0x68], esi
mov esi, ebx
mov ebx, dword [esp + 0xc0]
sbb eax, edi
mov dword [esp + 0x44], ecx
push 0xfff59083
push dword [esp + 0x34]
mov edi, ecx
mov dword [esp + 0x50], eax
push dword [esp + 0xa0]
shrd esi, edi, 0x15
shld ebp, ebx, 0x15
sar edi, 0x15
shl ebx, 0x15
call fcn.004ee710
sub eax, ebx
mov ebx, dword [esp + 0x50]
sbb edx, ebp
mov ebp, dword [esp + 0x74]
add eax, esi
adc edx, edi
add ebx, eax
mov eax, dword [esp + 0xa4]
adc ebp, edx
mov edx, ebx
shld edi, esi, 0x15
shl esi, 0x15
sub dword [esp + 0x1c], esi
mov esi, ebp
sbb dword [esp + 0x40], edi
mov edi, dword [esp + 0x88]
shld edi, eax, 0x15
shrd edx, esi, 0x15
shl eax, 0x15
sar esi, 0x15
mov ecx, edx
sub ecx, eax
mov eax, esi
sbb eax, edi
mov edi, dword [esp + 0x20]
add edi, ecx
mov ecx, dword [esp + 0x8c]
mov dword [esp + 0x20], edi
adc ecx, eax
mov dword [esp + 0x8c], ecx
shld esi, edx, 0x15
mov eax, dword [esp + 0x80]
shl edx, 0x15
sub ebx, edx
mov edx, edi
mov edi, dword [esp + 0x6c]
sbb ebp, esi
mov dword [esp + 0x50], ebx
shld edi, eax, 0x15
mov ebx, dword [esp + 0x98]
mov esi, ecx
shrd edx, esi, 0x15
shl eax, 0x15
sar esi, 0x15
mov ecx, edx
sub ecx, eax
mov eax, esi
sbb eax, edi
mov edi, dword [esp + 0x3c]
add edi, ecx
mov dword [esp + 0x3c], edi
adc ebx, eax
mov eax, dword [esp + 0x5c]
shld esi, edx, 0x15
shl edx, 0x15
sub dword [esp + 0x20], edx
mov edx, edi
mov edi, dword [esp + 0x48]
sbb dword [esp + 0x8c], esi
mov esi, ebx
shld edi, eax, 0x15
shrd edx, esi, 0x15
shl eax, 0x15
sar esi, 0x15
mov ecx, edx
sub ecx, eax
mov eax, esi
sbb eax, edi
mov edi, dword [esp + 0x34]
add edi, ecx
mov ecx, dword [esp + 0x54]
mov dword [esp + 0x34], edi
adc ecx, eax
mov eax, dword [esp + 0x90]
shld esi, edx, 0x15
mov dword [esp + 0x54], ecx
shl edx, 0x15
sub dword [esp + 0x3c], edx
mov edx, edi
mov edi, dword [esp + 0x38]
sbb ebx, esi
mov esi, ecx
shld edi, eax, 0x15
shrd edx, esi, 0x15
shl eax, 0x15
sar esi, 0x15
mov ecx, edx
sub ecx, eax
mov dword [esp + 0x98], ebx
mov ebx, dword [esp + 0x7c]
mov eax, esi
sbb eax, edi
mov edi, dword [esp + 0x18]
add edi, ecx
mov dword [esp + 0x18], edi
adc ebx, eax
mov eax, dword [esp + 0x24]
shld esi, edx, 0x15
shl edx, 0x15
sub dword [esp + 0x34], edx
mov edx, edi
mov edi, dword [esp + 0x14]
sbb dword [esp + 0x54], esi
mov esi, ebx
shrd edx, esi, 0x15
shld edi, eax, 0x15
sar esi, 0x15
mov ecx, edx
shl eax, 0x15
sub ecx, eax
mov eax, esi
sbb eax, edi
mov edi, dword [esp + 0x28]
add edi, ecx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x28], edi
adc ecx, eax
mov eax, dword [esp + 0x94]
shld esi, edx, 0x15
mov dword [esp + 0x58], ecx
shl edx, 0x15
sub dword [esp + 0x18], edx
mov edx, edi
mov edi, dword [esp + 0x78]
sbb ebx, esi
mov esi, ecx
shrd edx, esi, 0x15
mov dword [esp + 0x7c], ebx
mov ebx, dword [esp + 0x2c]
mov ecx, edx
shld ebx, eax, 0x15
sar esi, 0x15
shl eax, 0x15
sub ecx, eax
mov eax, esi
sbb eax, ebx
add dword [esp + 0x10], ecx
mov ebx, dword [esp + 0x30]
adc edi, eax
mov eax, dword [esp + 0x60]
shld esi, edx, 0x15
mov ecx, eax
shl edx, 0x15
sub dword [esp + 0x28], edx
mov edx, dword [esp + 0xd8]
sbb dword [esp + 0x58], esi
mov esi, dword [esp + 0x68]
mov byte [edx], al
mov eax, esi
shrd ecx, eax, 8
mov byte [edx + 1], cl
mov ecx, ebx
mov edx, dword [esp + 0x70]
mov eax, edx
shld eax, ecx, 5
mov eax, dword [esp + 0x60]
shrd eax, esi, 0x10
mov esi, dword [esp + 0xd8]
shl ecx, 5
or cl, al
mov eax, edx
mov byte [esi + 2], cl
mov ecx, ebx
shrd ecx, eax, 3
mov eax, edx
mov byte [esi + 3], cl
mov ecx, ebx
shrd ecx, eax, 0xb
shrd ebx, edx, 0x13
mov edx, dword [esp + 0x44]
mov byte [esi + 4], cl
mov esi, dword [esp + 0x84]
mov eax, esi
mov ecx, dword [esp + 0x4c]
shld eax, ecx, 2
mov eax, dword [esp + 0xd8]
shl ecx, 2
or bl, cl
mov ecx, dword [esp + 0x4c]
mov byte [eax + 5], bl
mov eax, esi
mov ebx, dword [esp + 0x64]
shrd ecx, eax, 6
mov eax, dword [esp + 0xd8]
mov byte [eax + 6], cl
mov ecx, ebx
mov eax, edx
shld eax, ecx, 7
mov eax, dword [esp + 0x4c]
shrd eax, esi, 0xe
mov esi, dword [esp + 0xd8]
shl ecx, 7
or al, cl
mov byte [esi + 7], al
mov ecx, ebx
mov eax, edx
shrd ecx, eax, 1
mov eax, edx
mov byte [esi + 8], cl
mov ecx, ebx
shrd ecx, eax, 9
shrd ebx, edx, 0x11
mov edx, dword [esp + 0x40]
mov eax, edx
mov byte [esi + 9], cl
mov ecx, dword [esp + 0x1c]
shld eax, ecx, 4
mov eax, edx
shl ecx, 4
or bl, cl
mov byte [esi + 0xa], bl
mov ebx, dword [esp + 0x1c]
mov ecx, ebx
shrd ecx, eax, 4
mov eax, edx
mov byte [esi + 0xb], cl
mov ecx, ebx
shrd ecx, eax, 0xc
shrd ebx, edx, 0x14
mov edx, dword [esp + 0x50]
mov eax, ebp
mov byte [esi + 0xc], cl
mov ecx, edx
shld eax, ecx, 1
mov eax, ebp
add ecx, ecx
or bl, cl
mov ecx, edx
shrd ecx, eax, 7
mov byte [esi + 0xd], bl
mov ebx, dword [esp + 0x8c]
mov eax, ebx
mov byte [esi + 0xe], cl
mov ecx, dword [esp + 0x20]
shld eax, ecx, 6
shrd edx, ebp, 0xf
shl ecx, 6
mov eax, ebx
or dl, cl
mov ebp, dword [esp + 0x54]
mov byte [esi + 0xf], dl
mov edx, dword [esp + 0x20]
mov ecx, edx
shrd ecx, eax, 2
mov eax, ebx
mov byte [esi + 0x10], cl
mov ecx, edx
shrd ecx, eax, 0xa
shrd edx, ebx, 0x12
mov ebx, dword [esp + 0x3c]
mov byte [esi + 0x11], cl
mov ecx, ebx
mov dword [esp + 0x20], edx
mov edx, dword [esp + 0x98]
mov eax, edx
shld eax, ecx, 3
mov eax, dword [esp + 0x20]
shl ecx, 3
or al, cl
mov ecx, ebx
mov byte [esi + 0x12], al
mov eax, edx
shrd ecx, eax, 5
mov eax, dword [esp + 0x34]
mov byte [esi + 0x13], cl
mov ecx, eax
mov byte [esi + 0x15], al
mov eax, ebp
shrd ebx, edx, 0xd
shrd ecx, eax, 8
mov byte [esi + 0x14], bl
mov ebx, dword [esp + 0x18]
mov byte [esi + 0x16], cl
mov ecx, ebx
mov edx, dword [esp + 0x7c]
mov eax, edx
shld eax, ecx, 5
mov eax, dword [esp + 0x34]
shrd eax, ebp, 0x10
mov ebp, dword [esp + 0x58]
shl ecx, 5
or cl, al
mov eax, edx
mov byte [esi + 0x17], cl
mov ecx, ebx
shrd ecx, eax, 3
mov eax, edx
mov byte [esi + 0x18], cl
mov ecx, ebx
shrd ecx, eax, 0xb
shrd ebx, edx, 0x13
mov edx, dword [esp + 0x10]
mov eax, ebp
mov byte [esi + 0x19], cl
mov ecx, dword [esp + 0x28]
shld eax, ecx, 2
mov eax, ebp
shl ecx, 2
or bl, cl
mov byte [esi + 0x1a], bl
mov ebx, dword [esp + 0x28]
mov ecx, ebx
shrd ecx, eax, 6
mov eax, edi
mov byte [esi + 0x1b], cl
mov ecx, edx
shld eax, ecx, 7
shrd ebx, ebp, 0xe
shl ecx, 7
mov eax, edi
or bl, cl
mov ecx, edx
shrd ecx, eax, 1
mov eax, edi
mov byte [esi + 0x1c], bl
mov byte [esi + 0x1d], cl
mov ecx, edx
shrd ecx, eax, 9
shrd edx, edi, 0x11
pop edi
mov byte [esi + 0x1e], cl
mov byte [esi + 0x1f], dl
pop esi
pop ebp
pop ebx
add esp, 0xc4
ret