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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff0
sub esp, 0x230
mov esi, esp
mov dword [esi + 0x218], ebp
mov dword [esi + 0xb4], ecx
nop
mov edi, dword [ebp + 0xc]
mov dword [esi + 0x21c], esp
mov dword [esi + 0x228], 0xffffffff
lea eax, [esi + 0x220]
mov dword [esi + 0x224], 0x4dab30
mov ecx, dword fs:[0]
mov dword [esi + 0x220], ecx
mov dword fs:[0], eax
call fcn.004daab0
mov edx, dword [0x889b84]
mov ebx, dword [0x847164]
mov ecx, dword [0x84714c]
mov dword [esi + 0x38], edx
or ecx, edx
mov edx, 0xffff9133
sub edx, eax
mov dword [esi + 0x28], edx
sub ecx, edx
add ecx, ebx
mov dword [esi + 0x34], eax
add eax, 0x6ecd
mov dword [esi + 0xa4], eax
call dword [0x834360]
call ecx
mov edx, eax
xor edx, 0xd12a31a2
mov ebx, eax
xor ebx, 0xd12a31b2
mov ecx, eax
xor ecx, 0xd12a31be
mov dword [esi + 0xc], eax
xor eax, 0xd12a31a9
mov dword [esi + 0x48], ecx
mov dword [esi + 0x3c], eax
mov dword [esi + ecx + 0xb8], eax
mov dword [esi + 0xb8], 0x751360
mov dword [esi], ebx
mov dword [esi + ebx + 0xb8], 0
mov dword [esi + 0x70], edx
mov byte [esi + edx + 0xb8], 0
test edi, edi
je 0x4d2e6e
nop
mov dword [esi + 0x228], 3
lea ecx, [esi + 0xb8]
push edi
call fcn.005864d0
mov eax, dword [esi + 0xc]
mov ecx, eax
xor ecx, 0xd12a31aa
mov dword [esi + 0x50], ecx
mov ecx, eax
xor ecx, 0xd12a31b6
mov dword [esi + 0x1c], ecx
mov ecx, eax
xor ecx, 0xd12a3186
mov dword [esi + 0x60], ecx
mov ecx, eax
xor ecx, 0xd12a3182
mov dword [esi + 0x74], ecx
mov ecx, eax
xor ecx, 0xd12a318e
mov dword [esi + 0x44], ecx
mov ecx, eax
xor ecx, 0xd12a318a
mov dword [esi + 0xac], ecx
mov ecx, eax
xor ecx, 0xd12a319a
mov dword [esi + 0x40], ecx
mov ecx, eax
xor ecx, 0xd12a31e6
mov dword [esi + 0x24], ecx
mov ecx, eax
xor ecx, 0xd12a31ae
mov dword [esi + 0x94], ecx
mov ecx, eax
xor ecx, 0xd12a319e
mov dword [esi + 0x20], ecx
mov ecx, eax
xor ecx, 0xd12a31a3
mov dword [esi + 0x8c], ecx
mov ecx, eax
xor ecx, 0xd12a31ab
mov dword [esi + 0x2c], ecx
mov ecx, eax
xor ecx, 0xaed5ce59
mov dword [esi + 0x7c], ecx
mov ecx, eax
xor ecx, 0xd12a3e58
mov dword [esi + 0x78], ecx
mov ecx, eax
xor ecx, 0x496626c2
mov edx, eax
xor edx, 0xd12a3185
mov dword [esi + 0x68], ecx
sub edx, ecx
mov dword [esi + 0x5c], edx
mov ecx, eax
xor ecx, 0x2ed5ce46
mov dword [esi + 0x58], ecx
mov ecx, eax
xor ecx, 0x2ed5ce5a
mov dword [esi + 0xa8], ecx
mov ecx, eax
xor ecx, 0xd12a3196
mov dword [esi + 0x6c], ecx
mov ecx, eax
xor ecx, 0xd12a3192
mov dword [esi + 0x90], ecx
mov ecx, eax
xor cl, 0xfa
mov byte [esi + 0x88], cl
xor eax, 0xd12a3e59
mov dword [esi + 0xb0], eax
mov eax, dword [ebp + 8]
mov dword [esi + 8], eax
mov eax, dword [esi + 0x70]
lea ecx, [esi + eax + 0xb8]
mov dword [esi + 0x30], ecx
lea ecx, [esi + eax + 0x128]
mov dword [esi + 0x10], ecx
add eax, esi
add eax, 0x144
mov dword [esi + 0x18], eax
jmp 0x4d2ff3
add eax, dword [esi + 0x74]
mov edi, eax
mov ecx, edx
nop
push edi
push ecx
call fcn.0071996d
add esp, 8
mov dword [esi + 0x228], 0xffffffff
nop
mov eax, dword [0x847170]
mov ecx, dword [0x847144]
sub ecx, dword [esi + 0x38]
add ecx, eax
mov eax, dword [esi + 0x34]
lea edi, [eax + ecx]
add edi, 0x6ecd
mov dword [esi + 0x228], 0xffffffff
mov ecx, edi
call dword [0x834360]
lea ecx, [esi + 0xe4]
call edi
mov edi, dword [esi + 8]
test edi, edi
js 0x4d35f4
nop
mov dword [esi + 0xe4], 0x7d3914
mov eax, dword [esi + 0x60]
mov dword [esi + eax + 0xe4], 0
mov eax, dword [esi + 0x74]
mov ecx, dword [esi + 0x3c]
mov dword [esi + eax + 0xe4], ecx
mov eax, dword [esi + 0x1c]
mov byte [esi + eax + 0xe4], 0
mov eax, dword [esi + 0x50]
mov dword [esi + eax + 0xe4], 0x751360
mov eax, dword [esi + 0x40]
mov dword [esi + eax + 0xe4], 0
mov eax, dword [esi + 0x24]
mov dword [esi + eax + 0xe4], ecx
mov eax, dword [esi + 0xac]
mov byte [esi + eax + 0xe4], 0
mov eax, dword [esi + 0x44]
mov dword [esi + eax + 0xe4], 0x751360
mov eax, dword [esi + 0x94]
mov dword [esi + eax + 0xe4], 0
mov ecx, dword [esi + 0x70]
mov dword [esi + ecx + 0xe4], edi
mov eax, dword [esi + 0xb4]
mov edx, dword [esi + 0x20]
mov edx, dword [eax + edx]
mov ecx, dword [edx + ecx]
mov eax, dword [esi + 0x2c]
cmp byte [ecx + eax], 0
nop
mov dword [esi + 8], edi
mov dword [esi + 4], edx
mov edi, edx
mov ebx, dword [esi]
jne 0x4d30df
mov edi, dword [esi + 4]
nop word cs:[eax + eax]
nop
mov edx, dword [esi + 8]
cmp dword [ecx + ebx], edx
cmovae edi, ecx
mov edx, 0
cmovb edx, dword [esi + 0x94]
mov ecx, dword [ecx + edx]
cmp byte [ecx + eax], 0
je 0x4d30c0
nop
cmp byte [edi + eax], 0
jne 0x4d35b8
nop
cmp edi, dword [esi + 4]
je 0x4d35b8
nop
mov eax, dword [esi]
mov eax, dword [edi + eax]
cmp dword [esi + 8], eax
jb 0x4d35b8
nop
mov ecx, dword [esi + 0x48]
mov ecx, dword [edi + ecx]
mov dword [esi + 8], ecx
cmp ecx, eax
je 0x4d35b8
nop
mov dword [esi + 4], edi
mov eax, dword [esi]
mov dword [esi + eax + 0x128], 0
mov eax, dword [esi + 0x48]
mov dword [esi + eax + 0x128], 0
mov edx, dword [esi + 0x30]
mov ecx, dword [esi + 0x3c]
cmp dword [esi + eax + 0xb8], ecx
jbe 0x4d3148
mov eax, dword [esi + 0x30]
mov edx, dword [eax]
mov dword [esi + 0x14], edx
mov eax, dword [esi]
mov ebx, dword [esi + eax + 0xb8]
mov edi, dword [esi + 0x1c]
cmp ebx, edi
jae 0x4d31a0
nop
mov ecx, dword [0x847174]
add ecx, dword [esi + 0xa4]
add ecx, dword [esi + 0x38]
add ecx, dword [0x847154]
mov dword [esi + 0x228], 0xffffffff
call dword [0x834360]
push edi
push dword [esi + 0x14]
push dword [esi + 0x10]
call ecx
add esp, 0xc
mov edx, 0xf
jmp 0x4d3259
mov ecx, ebx
or ecx, dword [esi + 0x3c]
mov dword [esi + 0x4c], ebx
test ebx, ebx
cmovs ecx, dword [esi + 0x7c]
cmp ecx, dword [esi + 0x78]
mov dword [esi + 0x228], 4
nop
mov dword [esi + 0x84], ecx
jbe 0x4d3200
nop
mov eax, dword [esi + 0x74]
add eax, ecx
push eax
call fcn.0071993d
add esp, 4
nop
mov edi, dword [esi + 0x68]
mov ecx, edi
xor ecx, eax
add ecx, dword [esi + 0x5c]
mov edx, eax
and edx, edi
lea edi, [ecx + edx*2]
and edi, dword [esi + 0x58]
mov ecx, dword [esi + 0xa8]
mov dword [edi + ecx], eax
jmp 0x4d320e
lea eax, [ecx + 1]
push eax
call fcn.0071993d
add esp, 4
mov edi, eax
nop
mov eax, dword [esi + 0x10]
mov dword [eax], edi
mov eax, dword [0x847174]
mov ecx, dword [0x847154]
xor ecx, dword [esi + 0x38]
sub ecx, dword [esi + 0x28]
add ecx, eax
mov ebx, dword [esi + 0x4c]
lea eax, [ebx + 1]
mov dword [esi + 0x80], eax
mov dword [esi + 0x228], 0xffffffff
call dword [0x834360]
push dword [esi + 0x80]
push dword [esi + 0x14]
push edi
call ecx
add esp, 0xc
nop
mov edx, dword [esi + 0x84]
nop
mov eax, dword [esi]
mov dword [esi + eax + 0x128], ebx
mov ecx, dword [esi + 0x48]
mov dword [esi + ecx + 0x128], edx
mov dword [esi + 0x128], 0x751360
mov eax, dword [esi + 0x30]
mov edx, dword [esi + 0x3c]
cmp dword [esi + ecx + 0xb8], edx
jbe 0x4d328b
mov eax, dword [esi + 0x30]
mov eax, dword [eax]
mov ecx, dword [esi]
mov dword [esi + ecx + 0xb8], 0
mov byte [eax], 0
mov eax, dword [esi + 0x6c]
mov edx, dword [esi + 4]
mov edi, dword [edx + eax]
mov eax, dword [esi + 0x3c]
mov ecx, dword [esi + 0x90]
cmp dword [edx + ecx], eax
mov eax, edx
jbe 0x4d32d0
mov ecx, eax
mov eax, dword [esi + 0x60]
mov ecx, dword [ecx + eax]
mov dword [esi + 4], ecx
jmp 0x4d32d6
add eax, dword [esi + 0x60]
mov dword [esi + 4], eax
mov edx, dword [esi]
mov ebx, dword [esi + edx + 0xb8]
mov eax, dword [esi + 0x48]
mov eax, dword [esi + eax + 0xb8]
mov ecx, eax
sub ecx, ebx
cmp ecx, edi
jae 0x4d3330
nop
mov dword [esi + 0x228], 5
sub esp, 0x10
movzx eax, byte [esi + 0x144]
mov byte [esp + 4], al
mov dword [esp + 0xc], edi
mov eax, dword [esi + 4]
mov dword [esp + 8], eax
mov dword [esp], edi
mov ecx, dword [esi + 0x30]
call fcn.0045bd80
jmp 0x4d3383
nop
mov dword [esi + 0x4c], edi
add edi, ebx
mov dword [esi + 0x14], edi
mov dword [esi + edx + 0xb8], edi
mov edi, dword [esi + 0x30]
cmp eax, dword [esi + 0x3c]
jbe 0x4d334d
mov eax, dword [esi + 0x30]
mov edi, dword [eax]
mov eax, dword [0x847160]
mov ecx, dword [0x847148]
sub ecx, dword [esi + 0x38]
add ecx, eax
add ebx, edi
mov eax, dword [esi + 0x34]
add ecx, eax
add ecx, 0x6ecd
call dword [0x834360]
push dword [esi + 0x4c]
push dword [esi + 4]
push ebx
call ecx
add esp, 0xc
mov eax, dword [esi + 0x14]
mov byte [edi + eax], 0
nop
mov ecx, dword [esi + 0x48]
mov edi, dword [esi + 0x3c]
mov dword [esi + ecx + 0x144], edi
mov ebx, dword [esi]
mov dword [esi + ebx + 0x144], 1
movzx eax, byte [esi + 0x88]
mov edx, dword [esi + 0x18]
mov byte [edx], al
mov eax, dword [esi + 0x8c]
mov byte [esi + eax + 0x144], 0
mov dword [esi + 0x144], 0x751360
mov eax, dword [esi + ebx + 0xb8]
mov ecx, dword [esi + ecx + 0xb8]
cmp ecx, eax
jne 0x4d3410
nop
mov dword [esi + 0x228], 6
sub esp, 0x10
movzx eax, byte [esi + 0x64]
mov byte [esp + 4], al
mov dword [esp + 8], edx
mov dword [esp + 0xc], 1
mov dword [esp], 1
mov ecx, dword [esi + 0x30]
call fcn.0045bd80
jmp 0x4d3434
lea edx, [eax + 1]
mov dword [esi + ebx + 0xb8], edx
mov edx, dword [esi + 0x30]
cmp ecx, edi
jbe 0x4d3426
mov ecx, dword [esi + 0x30]
mov edx, dword [ecx]
mov ecx, dword [esi + 0x18]
movzx ecx, byte [ecx]
mov byte [edx + eax], cl
mov byte [edx + eax + 1], 0
nop
mov eax, dword [esi]
mov edi, dword [esi + eax + 0x128]
mov eax, dword [esi + 0x10]
mov dword [esi + 4], eax
mov eax, dword [esi + 0x48]
mov ecx, dword [esi + 0x3c]
cmp dword [esi + eax + 0x128], ecx
jbe 0x4d345b
mov eax, dword [esi + 0x10]
mov eax, dword [eax]
mov dword [esi + 4], eax
mov edx, dword [esi]
mov ebx, dword [esi + edx + 0xb8]
mov eax, dword [esi + 0x48]
mov eax, dword [esi + eax + 0xb8]
mov ecx, eax
sub ecx, ebx
cmp ecx, edi
jae 0x4d34b0
nop
mov dword [esi + 0x228], 6
sub esp, 0x10
movzx eax, byte [esi + 0x64]
mov byte [esp + 4], al
mov dword [esp + 0xc], edi
mov eax, dword [esi + 4]
mov dword [esp + 8], eax
mov dword [esp], edi
mov ecx, dword [esi + 0x30]
call fcn.0045bd80
jmp 0x4d3505
nop
mov dword [esi + 0x4c], edi
add edi, ebx
mov dword [esi + 0x14], edi
mov dword [esi + edx + 0xb8], edi
mov edi, dword [esi + 0x30]
cmp eax, dword [esi + 0x3c]
jbe 0x4d34cd
mov eax, dword [esi + 0x30]
mov edi, dword [eax]
mov eax, dword [0x847160]
mov ecx, dword [0x847148]
xor ecx, dword [esi + 0x38]
sub ecx, dword [esi + 0x28]
add ecx, eax
add ebx, edi
mov dword [esi + 0x228], 0xffffffff
call dword [0x834360]
push dword [esi + 0x4c]
push dword [esi + 4]
push ebx
call ecx
add esp, 0xc
mov eax, dword [esi + 0x14]
mov byte [edi + eax], 0
nop
mov eax, dword [esi + 0x48]
mov eax, dword [esi + eax + 0x144]
cmp eax, dword [esi + 0x3c]
jbe 0x4d3561
mov ecx, eax
xor ecx, 1
mov edx, eax
not edx
and edx, 0x7ffffffe
or edx, ecx
not edx
lea edx, [ecx + edx*2]
mov ecx, dword [esi + 0x18]
mov ecx, dword [ecx]
cmp edx, dword [esi + 0xb0]
jbe 0x4d3556
nop
mov edx, dword [esi + 0xa8]
mov edi, dword [ecx + edx]
add ecx, edx
sub ecx, edi
cmp ecx, dword [esi + 0x60]
jae 0x4d458d
add eax, dword [esi + 0x74]
mov edx, eax
mov ecx, edi
nop
push edx
push ecx
call fcn.0071996d
add esp, 8
nop
mov eax, dword [esi + 0x48]
mov eax, dword [esi + eax + 0x128]
cmp eax, dword [esi + 0x3c]
jbe 0x4d2fbc
nop
mov ecx, dword [esi + 0x10]
mov ecx, dword [ecx]
lea edi, [eax + 1]
cmp edi, dword [esi + 0xb0]
jbe 0x4d2fa7
nop
mov ebx, dword [esi + 0xa8]
mov edx, dword [ecx + ebx]
mov edi, ebx
xor edi, ecx
and ecx, ebx
lea ecx, [edi + ecx*2]
sub ecx, edx
cmp ecx, dword [esi + 0x60]
jb 0x4d2fa0
nop
mov dword [esi + 0x228], 1
call fcn.006fce21
nop
mov eax, dword [0x847170]
mov ecx, dword [0x847144]
sub ecx, dword [esi + 0x38]
add ecx, eax
mov eax, dword [esi + 0x34]
lea edi, [eax + ecx]
add edi, 0x6ecd
mov dword [esi + 0x228], 0xffffffff
mov ecx, edi
call dword [0x834360]
lea ecx, [esi + 0xe4]
call edi
jmp 0x4d3c0d
nop
mov dword [esi + 0xe4], 0x7d3914
mov eax, dword [esi + 0x60]
mov dword [esi + eax + 0xe4], 0
mov eax, dword [esi + 0x74]
mov ecx, dword [esi + 0x3c]
mov dword [esi + eax + 0xe4], ecx
mov eax, dword [esi + 0x1c]
mov byte [esi + eax + 0xe4], 0
mov edx, dword [esi + 0x50]
mov dword [esi + edx + 0xe4], 0x751360
mov eax, dword [esi + 0x40]
mov dword [esi + eax + 0xe4], 0
mov eax, dword [esi + 0x24]
mov dword [esi + eax + 0xe4], ecx
mov eax, dword [esi + 0xac]
mov byte [esi + eax + 0xe4], 0
mov eax, dword [esi + 0x44]
mov dword [esi + eax + 0xe4], 0x751360
mov eax, dword [esi + 0x70]
mov dword [esi + eax + 0xe4], 0
mov eax, dword [esi + 0x94]
mov dword [esi + eax + 0xe4], edi
lea ecx, [esi + edx + 0xe4]
mov dword [esi + 0x228], 7
lea eax, [esi + 0xb8]
push eax
call fcn.00586f10
nop
mov eax, dword [0x847dc0]
mov edi, dword [esi + 0xc]
xor eax, edi
cmp eax, 0xbec31a70
mov ecx, dword [0x847db8]
jne 0x4d36fd
mov eax, edi
shl eax, 0x1f
xor eax, edi
xor eax, 0xd426bee6
mov edx, edi
xor edx, 0x2bd94119
add edx, eax
sub edx, dword [ecx + 8]
lea eax, [edx + ecx]
inc eax
shl eax, cl
xor edx, edx
test cl, 0x20
cmove edx, eax
add edx, ecx
mov dword [esi + 0x50], edx
mov eax, dword [0x7d3974]
mov dword [esi + 0x34], eax
mov ecx, dword [0x847dbc]
mov eax, edi
xor eax, 0x112a31a5
lea eax, [ecx + eax*8]
jmp 0x4d3745
mov edx, edi
shl edx, 0x1b
xor edx, edi
xor edx, 0x2d160e1d
mov eax, edi
shl eax, 0x1f
xor eax, edi
xor eax, 0x6c91998
add eax, edx
mov edx, edi
xor edx, 0xf936e667
add edx, ecx
add edx, dword [ecx]
mov ecx, edi
xor ecx, 0xe2e9f1e2
add eax, ecx
add eax, edx
add eax, 2
mov dword [esi + 0x50], eax
mov eax, dword [0x7d3974]
mov dword [esi + 0x34], eax
mov eax, dword [0x847dbc]
mov ecx, eax
nop
add ecx, dword [eax]
mov dword [esi + 0x6c], ecx
cmp dword [ebp + 0x10], 0
je 0x4d3766
nop
mov eax, dword [esi + 0x44]
lea ecx, [esi + eax]
add ecx, 0xe4
push dword [ebp + 0x10]
call fcn.005864d0
nop
mov ecx, dword [esi + 0xb4]
mov eax, dword [esi + 0xac]
mov eax, dword [ecx + eax]
xor eax, dword [esi + 0xc]
cmp eax, 0xd2746171
je 0x4d459d
nop
mov eax, dword [esi + 0x44]
mov eax, dword [ecx + eax]
mov eax, dword [eax]
mov dword [esi + 0xe0], eax
mov dword [0x847db0], 0x2b51642a
mov eax, dword [0x847da8]
lea ecx, [eax + 1]
mov dword [0x847da8], ecx
mov dword [esi + 0x5c], eax
mov dword [esi + 0x58], ecx
test ecx, eax
je 0x4d3cad
mov dword [esi + 8], 0
mov dword [esi], 0
mov dword [esi + 0x10], 0
mov dword [esi + 4], 0
nop
mov ecx, dword [0x847dcc]
xor ecx, dword [esi + 0xc]
mov eax, 0x4c
cmp ecx, 0x801e05e3
jne 0x4d3805
nop
mov dword [0x847dc0], 0x9e7fba8b
mov dword [esi + 0x228], 8
mov eax, 0x53
nop
mov dword [esi + 0xd4], 0
mov dword [esi + 0x228], 8
push eax
call fcn.0071993d
add esp, 4
nop
mov dword [esi + 0x14], eax
mov edx, dword [0x847dc0]
xor edx, dword [esi + 0xc]
mov eax, dword [0x7d390c]
mov ecx, dword [0x7d3908]
mov edi, dword [0x7d3904]
mov ebx, dword [0x7d3900]
mov dword [esi + 0x18], ebx
sub ebx, dword [esi + 8]
mov dword [esi + 0x1c], edi
sbb edi, dword [esi]
mov dword [esi], ecx
sbb ecx, dword [esi + 0x10]
mov dword [esi + 0x10], eax
sbb eax, dword [esi + 4]
add ebx, 0xa8e1c99a
adc edi, 0x97dab322
adc ecx, 0xffffffff
adc eax, 0xffffffff
cmp edx, 0x16aa5435
jne 0x4d3ad2
nop
mov eax, dword [esi + 0x18]
add eax, 0xa8e1c99a
mov ecx, eax
mov dword [esi + 0x18], eax
mov eax, dword [esi + 0x1c]
adc eax, 0x97dab322
mov dword [esi + 0x1c], eax
mov edi, dword [esi]
adc edi, 0xffffffff
mov dword [esi], edi
mov edx, dword [esi + 0x10]
adc edx, 0xffffffff
mov dword [esi + 0x10], edx
imul ebx, dword [esi + 8]
pxor xmm0, xmm0
movdqu xmmword [esi + 0x160], xmm0
mov dword [esi + 0x170], ecx
mov dword [esi + 0x174], eax
mov dword [esi + 0x178], edi
mov dword [esi + 0x17c], edx
mov ch, bl
and ch, 7
shr bl, 3
and bl, 0xf
neg bl
movsx edi, bl
mov edx, dword [esi + edi + 0x178]
mov eax, dword [esi + edi + 0x17c]
mov cl, ch
shld eax, edx, cl
mov dword [esi + 8], eax
shl edx, cl
not cl
mov eax, dword [esi + edi + 0x170]
mov ebx, dword [esi + edi + 0x174]
mov edi, ebx
shr edi, 1
shr edi, cl
mov cl, ch
shld ebx, eax, cl
or edi, edx
shl eax, cl
mov edx, dword [esi + 0x18]
sub edx, eax
mov eax, dword [esi + 0x1c]
sbb eax, ebx
mov dword [esi + 0x1c], eax
mov ebx, dword [esi]
sbb ebx, edi
mov dword [esi], ebx
mov ecx, dword [esi + 0x10]
sbb ecx, dword [esi + 8]
mov edi, edx
add edi, 0x571e3666
mov dword [esi + 0x20], edi
mov edi, eax
adc edi, 0x68254cdd
mov dword [esi + 0x50], edi
mov edi, ebx
adc edi, 0
mov dword [esi + 4], edi
mov edi, ecx
adc edi, 0
mov dword [esi + 0x34], edi
mov edi, 0xa8e1c99a
sub edi, edx
mov dword [esi + 0x2c], edi
mov eax, edx
mov dword [esi + 0x18], edx
mov edx, 0x97dab322
sbb edx, dword [esi + 0x1c]
mov dword [esi + 0x40], edx
mov ebx, 0xffffffff
sbb ebx, dword [esi]
mov edx, 0xffffffff
sbb edx, ecx
mov dword [esi + 0x44], edx
mov edi, 0xa8e1c999
sub edi, eax
mov edx, 0x97dab322
sbb edx, dword [esi + 0x1c]
mov dword [esi + 0x24], edx
mov edx, 0xffffffff
mov eax, dword [esi]
sbb edx, eax
mov dword [esi + 8], 0xffffffff
sbb dword [esi + 8], ecx
add dword [esi + 0x18], 0x571e3665
adc dword [esi + 0x1c], 0x68254cdd
adc eax, 0
mov dword [esi], eax
adc ecx, 0
mov dword [esi + 0x10], ecx
xor edx, eax
and ebx, dword [esi + 4]
or ebx, edx
mov edx, dword [esi + 0x18]
xor edi, edx
mov eax, dword [esi + 0x20]
mov ecx, dword [esi + 0x2c]
and ecx, eax
or ecx, edi
mov edi, ecx
mov ecx, dword [esi]
xor ecx, dword [esi + 4]
and ecx, ebx
xor edx, eax
and edx, edi
mov dword [esi + 0x18], edx
shl edx, cl
mov dword [esi + 4], edx
xor eax, eax
test cl, 0x20
mov ebx, ecx
cmovne edx, eax
mov dword [esi + 0x2c], edx
shl edx, cl
mov dword [esi + 0x20], edx
test bl, 0x20
mov ecx, edx
cmovne ecx, eax
mov dword [esi], ecx
mov eax, dword [esi + 0x1c]
mov ecx, dword [esi + 0x24]
xor ecx, eax
mov edi, dword [esi + 0x50]
mov edx, dword [esi + 0x40]
and edx, edi
or edx, ecx
xor eax, edi
and eax, edx
mov ecx, ebx
mov edx, dword [esi + 0x18]
shld eax, edx, cl
test bl, 0x20
cmovne eax, dword [esi + 4]
mov edx, dword [esi + 0x2c]
shld eax, edx, cl
test bl, 0x20
cmovne eax, dword [esi + 0x20]
mov dword [esi + 0x1c], eax
mov edx, dword [esi + 0x10]
mov eax, dword [esi + 8]
xor eax, edx
mov ecx, dword [esi + 0x34]
mov edi, dword [esi + 0x44]
and edi, ecx
or edi, eax
xor edx, ecx
and edx, edi
or edx, dword [esi + 0x1c]
mov dword [0x847db4], 0x685cc638
movd xmm0, dword [esi + 0xc]
pshufd xmm0, xmm0, 0x44
pxor xmm0, xmmword [0x7d38b0]
mov edi, dword [esi]
or edi, ebx
movdqa xmmword [esi + 0x1c0], xmm0
movzx ecx, byte [esi + 0x1c0]
shld edx, edi, cl
mov eax, edi
shl eax, cl
test cl, 0x20
cmovne edx, eax
mov ecx, 0
cmovne eax, ecx
movzx ecx, byte [esi + 0x1c8]
shrd eax, edx, cl
shr edx, cl
test cl, 0x20
cmove edx, eax
mov eax, edi
mov ecx, edx
shl eax, cl
and eax, edi
mov ecx, edx
sub ecx, edi
xor ecx, edx
mov edx, eax
shl edx, cl
or edx, eax
mov eax, dword [0x889b88]
sub eax, edx
imul eax, edx
mov ecx, eax
xor ecx, edx
and eax, edx
lea edi, [ecx + eax*2]
jmp 0x4d3b7c
nop
mov edx, dword [esi + 0x5c]
test dword [esi + 0x58], edx
mov edx, 0
sete dl
neg edx
mov dword [esi + 8], edx
mov dword [esi], eax
lea eax, [edi + edi]
and eax, 0xd04a99ba
mov edx, ecx
lea ecx, [ebx + ebx]
and ecx, 0xae3c6ccc
xor edi, 0x97dab322
xor ebx, 0xa8e1c999
sub ebx, ecx
sbb edi, eax
mov eax, dword [esi]
not eax
not edx
sbb edx, 0
sbb eax, 0
xor edx, dword [esi + 8]
mov ecx, dword [esi + 0x5c]
test dword [esi + 0x58], ecx
mov ecx, 0
cmovne edx, ecx
xor ebx, dword [esi + 8]
mov ecx, dword [esi + 0x5c]
test dword [esi + 0x58], ecx
mov ecx, 0
cmovne ebx, ecx
xor eax, dword [esi + 8]
mov ecx, dword [esi + 0x5c]
test dword [esi + 0x58], ecx
mov ecx, 0
cmovne eax, ecx
xor edi, dword [esi + 8]
mov ecx, dword [esi + 0x5c]
test dword [esi + 0x58], ecx
mov ecx, 0
cmovne edi, ecx
or ebx, edx
or edi, eax
mov eax, dword [esi + 0xc]
mov ecx, eax
xor cl, 0x86
mov eax, ebx
shrd eax, edi, cl
shr edi, cl
test cl, 0x20
cmove edi, eax
or edi, ebx
add edi, dword [0x889b88]
nop
mov dword [0x889b88], edi
mov eax, dword [esi + 0x14]
mov ecx, eax
add ecx, dword [esi + 0x94]
mov dword [esi + 0xd4], eax
lea eax, [esi + 0xe4]
push eax
call fcn.004d9820
nop
mov edi, dword [esi + 0xb4]
mov ebx, dword [esi + 0xac]
mov eax, dword [edi + ebx]
lea ecx, [eax + eax]
and ecx, 2
mov edx, eax
xor edx, ecx
and ecx, eax
xor edx, 1
lea eax, [edx + ecx*2]
mov dword [edi + ebx], eax
mov ecx, dword [esi + 0x70]
mov edx, dword [esi + 0xe0]
mov eax, dword [edx + ecx]
mov edi, dword [esi + 0x14]
mov dword [edi], edx
mov dword [edi + ecx], eax
mov dword [edx + ecx], edi
mov dword [eax], edi
mov edi, dword [esi + 0xa4]
add edi, dword [0x847170]
add edi, dword [esi + 0x38]
add edi, dword [0x847144]
mov dword [esi + 0x228], 0xffffffff
mov ecx, edi
call dword [0x834360]
lea ecx, [esi + 0xe4]
call edi
nop
mov eax, dword [esi + 0x48]
mov eax, dword [esi + eax + 0xb8]
cmp eax, dword [esi + 0x3c]
jbe 0x4d3c96
nop
mov ebx, dword [esi + 0xc]
mov edx, ebx
xor edx, 0xda5ff322
mov ecx, ebx
xor ecx, 0x25a00cdd
add ecx, edx
xor ebx, 0x957c6e2e
inc ebx
mov edx, ebx
sub edx, eax
mov edi, edx
xor edi, ecx
and edx, ecx
lea ecx, [edi + edx*2]
sub ebx, ecx
cmp ebx, dword [esi + 0xb0]
mov ecx, dword [esi + 0x30]
mov ecx, dword [ecx]
jbe 0x4d3c89
nop
mov edi, dword [esi + 0xa8]
lea edx, [ecx + edi]
mov ecx, dword [ecx + edi]
sub edx, ecx
cmp edx, dword [esi + 0x60]
jae 0x4d45e7
nop
add eax, dword [esi + 0x74]
mov edx, dword [0x889b88]
mov edi, edx
xor edi, eax
and eax, edx
add edi, dword [0x889b84]
lea eax, [edi + eax*2]
jmp 0x4d3c8b
mov eax, ebx
nop
push eax
push ecx
call fcn.0071996d
add esp, 8
nop
mov eax, dword [esi + 0x220]
mov dword fs:[0], eax
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret 0xc
nop
mov eax, dword [0x847dc4]
mov edi, dword [esi + 0xc]
xor eax, edi
cmp eax, 0x3c34d92a
mov eax, 0
cmove eax, dword [esi + 0x94]
mov ecx, dword [esi + 0x6c]
lea edx, [ecx + eax*4]
add edx, dword [ecx + eax*4]
mov dword [esi + 0x18], edx
cmp dword [esi + 0x34], 0
jle 0x4d4155
nop
mov eax, dword [0x847dc8]
xor eax, edi
mov dword [esi + 0x44], eax
lea eax, [edi + edi]
mov dword [esi + 8], eax
xor eax, 0xda4b901c
mov dword [esi], eax
mov eax, edi
xor eax, 0xdc15bcd7
mov dword [esi + 4], eax
mov ecx, edi
shl ecx, 4
mov eax, ecx
xor eax, 0xd1130dae
mov dword [esi + 0x40], eax
mov eax, edi
xor eax, 0xe52e7d9d
lea edx, [edi*8]
xor edx, 0xb51e6501
mov dword [esi + 0x10], edx
mov edx, edi
xor edx, 0x1ad18262
mov dword [esi + 0x20], edx
mov edx, ecx
xor edx, 0x6b62a01d
mov dword [esi + 0x14], edx
mov edx, edi
xor edx, 0xd88d4707
xor ecx, 0x954316cf
mov ebx, edi
xor ebx, 0x23ea4328
mov dword [esi + 0x24], ebx
mov ebx, dword [esi + 0xc]
shr ebx, 1
mov edi, dword [esi + 0xc]
shl edi, 0x1f
xor edi, dword [esi + 0xc]
xor edi, 0x2772b8f8
xor ebx, 0xeeab5d51
add edi, eax
adc ebx, dword [esi + 0x40]
add edi, dword [esi + 4]
adc ebx, dword [esi]
add edi, dword [esi + 0x20]
adc ebx, dword [esi + 0x10]
add edi, edx
adc ebx, dword [esi + 0x14]
add edi, dword [esi + 0x24]
adc ebx, ecx
add edi, 3
mov dword [esi + 0x8c], edi
adc ebx, 0
mov dword [esi + 0x90], ebx
mov edi, dword [esi + 0xc]
shl edi, 0x1d
xor edi, dword [esi + 0xc]
mov eax, edi
xor eax, 0xc25d7270
mov ecx, dword [esi + 0xc]
shl ecx, 0x1c
xor ecx, dword [esi + 0xc]
xor ecx, 0x9da28d8f
add ecx, eax
mov eax, dword [esi + 0xc]
shr eax, 5
mov edx, dword [esi + 0xc]
shl edx, 0x1b
xor edx, dword [esi + 0xc]
xor edx, 0xe12a31b6
mov dword [esi + 0x80], edx
xor eax, 0x689518d
mov dword [esi + 0x84], eax
mov eax, dword [esi + 0xc]
shr eax, 3
add ecx, 1
mov dword [esi + 0x4c], ecx
mov ecx, edi
xor ecx, 0x4995ff7f
mov dword [esi], ecx
mov ecx, eax
xor ecx, 0xa19cc701
mov dword [esi + 4], ecx
mov ebx, dword [esi + 0xc]
xor ebx, 0xa8af575
mov ecx, dword [esi + 0xc]
xor ecx, 0x67887d7b
xor dword [esi + 8], 0xe6121d86
mov edx, dword [esi + 0xc]
xor edx, 0x766a0080
add edx, ecx
mov ecx, dword [esi + 8]
adc ecx, ebx
mov ebx, dword [esi + 0xc]
add edx, dword [esi]
adc ecx, dword [esi + 4]
xor edi, 0x58778284
xor eax, 0x3e7a7d18
add edi, edx
adc eax, ecx
add edi, 2
mov dword [esi + 0x88], edi
adc eax, 0
mov dword [esi + 0x7c], eax
lea eax, [ebx*4]
xor eax, 0x44a8c698
mov dword [esi + 0x78], eax
mov eax, dword [0x847dcc]
xor eax, ebx
mov edx, ebx
xor edx, 0xdc98ad32
mov edi, 0xfb445834
mov ecx, dword [esi + 0x1c]
sub edi, ecx
mov dword [esi + 0x68], edi
cmp eax, 0x81374dab
mov eax, ebx
jne 0x4d4175
xor eax, 0x421d89e1
mov dword [esi + 0x54], eax
mov dword [esi + 0x40], edx
neg edx
mov dword [esi + 0xa0], edx
mov eax, dword [esi + 0x70]
imul eax, eax
mov dword [esi + 0x9c], eax
mov eax, ebx
xor eax, 0x56bf45f7
mov edx, ebx
xor edx, 0x91c30c4f
mov dword [esi + 0xdc], edx
sub ecx, edx
mov dword [esi + 0x98], eax
add ecx, eax
mov dword [esi + 0xd8], ecx
pxor xmm0, xmm0
xor edx, edx
mov dword [esi + 8], 0
mov dword [esi], 0
mov dword [esi + 0x10], 0
mov dword [esi + 4], 0
mov dword [esi + 0x20], 0
mov dword [esi + 0x24], 0
jmp 0x4d3f1a
xor dword [esi + 8], ebx
xor dword [esi], edx
xor dword [esi + 0x10], eax
xor dword [esi + 4], ecx
mov edx, dword [esi + 0x14]
add edx, dword [esi + 0x1c]
cmp edx, dword [esi + 0x34]
jge 0x4d37d4
mov eax, dword [esi + 0x50]
mov dword [esi + 0x14], edx
add edx, eax
cmp dword [esi + 0x44], 0xcbdf2631
jne 0x4d3f80
nop
mov eax, dword [esi + 0x4c]
lea ecx, [eax + edx]
mov ebx, dword [esi + 0x18]
sub ecx, ebx
sub ecx, ebx
mov eax, dword [esi + 0x20]
shld eax, ebx, cl
shl ebx, cl
test cl, 0x20
cmovne eax, ebx
mov ecx, 0
cmovne ebx, ecx
mov edi, dword [esi + 0x88]
sub edi, ebx
mov ecx, dword [esi + 0x7c]
sbb ecx, eax
cmp edi, dword [esi + 0x1c]
sbb ecx, dword [esi + 0x78]
mov ecx, dword [edx + 0xc]
mov eax, dword [edx + 8]
mov ebx, dword [edx]
mov edx, dword [edx + 4]
jl 0x4d3fb5
jmp 0x4d4058
nop
mov edi, dword [esi + 0x8c]
add edi, dword [esi + 0x18]
mov eax, dword [esi + 0x90]
adc eax, dword [esi + 0x20]
sub edi, edx
sbb eax, 0
cmp edi, dword [esi + 0x80]
sbb eax, dword [esi + 0x84]
mov ecx, dword [edx + 0xc]
mov eax, dword [edx + 8]
mov ebx, dword [edx]
mov edx, dword [edx + 4]
jge 0x4d4058
nop
mov eax, dword [esi + 0x24]
mov edx, dword [esi + 0x54]
sub eax, edx
mov ecx, eax
mov ebx, dword [esi + 0xa0]
xor ecx, ebx
and eax, ebx
add ecx, edx
lea eax, [ecx + eax*2]
mov ebx, dword [esi + 0x40]
imul eax, ebx
add eax, dword [esi + 0x24]
lea ecx, [eax + eax]
shl eax, cl
mov dword [0x847dac], 0xf1f14d05
mov edx, eax
xor edx, ecx
and eax, ecx
lea eax, [edx + eax*2]
mov ecx, ebx
sub ebx, eax
shl ebx, cl
mov ecx, edi
mov eax, dword [esi + 0x9c]
sub ecx, eax
imul ecx, eax
mov edx, edi
shl edx, cl
mov ecx, edx
shl edi, cl
sub edi, edx
mov ecx, dword [esi + 0x1c]
shl edi, cl
shl edi, cl
mov eax, dword [esi + 0x98]
add eax, edi
neg eax
mov edx, dword [esi + 0xdc]
mov ecx, edx
xor ecx, eax
add ecx, dword [esi + 0xd8]
and eax, edx
lea ecx, [ecx + eax*2]
mov eax, edi
shl eax, cl
sub ebx, dword [esi + 0x40]
sub edi, eax
imul edi, edi
sub dword [esi + 0x14], edi
mov eax, dword [esi + 0x6c]
lea ecx, [eax + ebx*4]
mov dword [esi + 0x24], ebx
add ecx, dword [eax + ebx*4]
mov dword [esi + 0x18], ecx
mov dword [esi + 0x20], 0
cmp dword [esi + 0xc], 0xaa07e395
jne 0x4d3f00
mov eax, dword [esi + 8]
mov dword [esi + 0x190], eax
movdqu xmmword [esi + 0x180], xmm0
mov eax, dword [esi]
mov dword [esi + 0x194], eax
mov eax, dword [esi + 0x10]
mov dword [esi + 0x198], eax
mov eax, dword [esi + 4]
mov dword [esi + 0x19c], eax
mov ch, bl
and ch, 7
shr bl, 3
and bl, 0xf
neg bl
movsx edx, bl
mov ebx, dword [esi + edx + 0x198]
mov edi, dword [esi + edx + 0x19c]
mov cl, ch
shld edi, ebx, cl
mov dword [esi + 0x2c], edi
shl ebx, cl
not cl
mov edi, dword [esi + edx + 0x190]
mov eax, dword [esi + edx + 0x194]
mov edx, eax
shr edx, 1
shr edx, cl
mov cl, ch
shld eax, edi, cl
mov dword [esi + 0x28], eax
or edx, ebx
shl edi, cl
mov eax, edi
sub eax, dword [esi + 8]
mov ebx, eax
mov eax, dword [esi + 0x28]
sbb eax, dword [esi]
mov dword [esi], eax
mov eax, edx
sbb eax, dword [esi + 0x10]
mov ecx, dword [esi + 0x2c]
sbb ecx, dword [esi + 4]
xor eax, edx
mov dword [esi + 4], eax
xor ecx, dword [esi + 0x2c]
xor ebx, edi
mov dword [esi + 8], ebx
mov eax, dword [esi + 0x28]
xor dword [esi], eax
mov edi, dword [esi + 0x1c]
mov ebx, dword [esi + 0x14]
sub ebx, edi
imul ebx, edi
mov eax, ebx
xor eax, 0x4bba7cc
mov edx, ebx
and edx, 0x4bba7cc
add eax, dword [esi + 0x68]
lea eax, [eax + edx*2]
imul eax, edi
neg ebx
mov edx, eax
xor edx, ebx
or ebx, eax
xor ebx, edx
lea edx, [edx + ebx*2]
mov edi, edx
xor edi, eax
and eax, edx
lea edx, [edi + eax*2]
mov eax, dword [esi + 4]
mov dword [esi + 0x10], eax
mov dword [esi + 4], ecx
cmp edx, dword [esi + 0x34]
jb 0x4d3f1a
jmp 0x4d37d4
mov dword [esi + 4], 0
mov dword [esi + 8], 0
mov dword [esi], 0
mov dword [esi + 0x10], 0
jmp 0x4d37d4
xor eax, 0x236752cd
inc eax
mov dword [esi + 0xa0], eax
mov eax, ebx
xor eax, 0x4969093a
mov dword [esi + 0x54], eax
sub edx, eax
inc edx
mov dword [esi + 0x40], edx
mov eax, dword [esi + 0x70]
sub eax, ecx
mov dword [esi + 0x9c], eax
pcmpeqd xmm0, xmm0
xorps xmm1, xmm1
cmp ebx, 0xaa07e395
jne 0x4d440a
xor ebx, ebx
mov dword [esi + 0x24], 0
mov dword [esi + 0x20], 0
mov dword [esi + 0x2c], 0
mov dword [esi + 0x28], 0
mov dword [esi + 0x54], 0
mov dword [esi + 0x98], 0
jmp 0x4d4367
lea eax, [edx*8]
movdqu xmmword [esi + 0x208], xmm0
movups xmmword [esi + 0x1f8], xmm1
shr al, 3
and al, 0xf
neg al
movsx eax, al
mov eax, dword [esi + eax + 0x208]
not eax
and ecx, eax
mov edi, dword [esi + 0x98]
add edi, dword [esi + 0x40]
mov eax, edi
xor eax, 0xe36eeaaf
and edi, 0xe36eeaaf
add eax, dword [esi + 0xa0]
lea edi, [eax + edi*2]
add ebx, dword [esi + 0x9c]
add ebx, edx
mov eax, dword [esi + 0x6c]
lea edx, [eax + edi*4]
mov dword [esi + 0x98], edi
add edx, dword [eax + edi*4]
mov dword [esi + 0x18], edx
mov dword [esi + 0x54], 0
mov eax, dword [esi + 0x24]
mov dword [esi + 0x1b0], eax
movups xmmword [esi + 0x1a0], xmm1
mov eax, dword [esi + 0x20]
mov dword [esi + 0x1b4], eax
mov eax, dword [esi + 0x2c]
mov dword [esi + 0x1b8], eax
mov eax, dword [esi + 0x28]
mov dword [esi + 0x1bc], eax
mov eax, ecx
mov ch, al
and ch, 7
shr al, 3
and al, 0xf
neg al
movsx edx, al
mov eax, dword [esi + edx + 0x1b8]
mov dword [esi + 8], eax
mov eax, dword [esi + edx + 0x1bc]
mov cl, ch
mov edi, dword [esi + 8]
shld eax, edi, cl
mov dword [esi + 4], eax
shl dword [esi + 8], cl
not cl
mov eax, dword [esi + edx + 0x1b0]
mov dword [esi + 0x14], eax
mov eax, dword [esi + edx + 0x1b4]
mov edi, eax
shr edi, 1
shr edi, cl
mov cl, ch
mov edx, dword [esi + 0x14]
shld eax, edx, cl
or edi, dword [esi + 8]
mov edx, dword [esi + 0x14]
shl edx, cl
mov dword [esi + 0x14], edx
mov ecx, edx
sub ecx, dword [esi + 0x24]
mov dword [esi + 8], ecx
mov ecx, eax
sbb ecx, dword [esi + 0x20]
mov dword [esi], ecx
mov ecx, edi
sbb ecx, dword [esi + 0x2c]
mov edx, dword [esi + 4]
sbb edx, dword [esi + 0x28]
xor ecx, edi
mov dword [esi + 0x10], ecx
xor edx, dword [esi + 4]
mov dword [esi + 4], edx
mov ecx, dword [esi + 0x14]
xor dword [esi + 8], ecx
mov edi, dword [esi]
xor edi, eax
mov edx, dword [esi + 0x1c]
sub ebx, edx
imul ebx, edx
mov eax, ebx
xor eax, 0x4bba7cc
mov ecx, ebx
and ecx, 0x4bba7cc
add eax, dword [esi + 0x68]
lea eax, [eax + ecx*2]
imul eax, edx
neg ebx
mov ecx, eax
xor ecx, ebx
or ebx, eax
xor ebx, ecx
lea ecx, [ecx + ebx*2]
mov edx, ecx
xor edx, eax
and eax, ecx
lea ebx, [edx + eax*2]
mov eax, dword [esi + 8]
mov dword [esi + 0x24], eax
mov dword [esi], edi
mov dword [esi + 0x20], edi
mov eax, dword [esi + 0x10]
mov dword [esi + 0x2c], eax
mov eax, dword [esi + 4]
mov dword [esi + 0x28], eax
cmp ebx, dword [esi + 0x34]
jae 0x4d37d4
mov eax, dword [esi + 0x50]
add eax, ebx
cmp dword [esi + 0x44], 0xcbdf2631
jne 0x4d43d0
nop
mov ecx, dword [esi + 0x4c]
add ecx, eax
mov edx, dword [esi + 0x18]
add edx, edx
sub ecx, edx
mov edi, dword [esi + 0x54]
mov edx, dword [esi + 0x18]
shld edi, edx, cl
shl edx, cl
test cl, 0x20
cmovne edi, edx
mov ecx, 0
cmovne edx, ecx
mov ecx, dword [esi + 0x88]
sub ecx, edx
mov edx, ecx
mov ecx, dword [esi + 0x7c]
sbb ecx, edi
cmp edx, dword [esi + 0x1c]
sbb ecx, dword [esi + 0x78]
mov ecx, dword [eax + 0xc]
mov ecx, dword [eax + 8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
jl 0x4d41f0
jmp 0x4d425b
nop
mov edx, dword [esi + 0x8c]
add edx, dword [esi + 0x18]
mov ecx, dword [esi + 0x90]
adc ecx, dword [esi + 0x54]
sub edx, eax
sbb ecx, 0
cmp edx, dword [esi + 0x80]
sbb ecx, dword [esi + 0x84]
mov ecx, dword [eax + 0xc]
mov ecx, dword [eax + 8]
mov ecx, dword [eax]
mov eax, dword [eax + 4]
jl 0x4d41f0
jmp 0x4d425b
xor ebx, ebx
mov dword [esi + 8], 0
mov dword [esi], 0
mov dword [esi + 0x10], 0
mov dword [esi + 4], 0
mov dword [esi + 0x24], 0
mov dword [esi + 0x28], 0
jmp 0x4d44f2
nop
mov dword [esi + 0x2c], edi
mov dword [esi + 0x20], eax
lea eax, [ecx*8]
movdqu xmmword [esi + 0x1e8], xmm0
movups xmmword [esi + 0x1d8], xmm1
shr al, 3
and al, 0xf
neg al
movsx eax, al
mov edi, dword [esi + eax + 0x1e8]
not edi
and dword [esi + 0x20], edi
mov edi, dword [esi + eax + 0x1ec]
not edi
and edx, edi
mov dword [esi + 0x68], edx
mov edi, dword [esi + eax + 0x1f0]
not edi
and dword [esi + 0x2c], edi
mov eax, dword [esi + eax + 0x1f4]
not eax
and dword [esi + 0x14], eax
mov eax, dword [esi + 0x28]
add eax, dword [esi + 0x40]
mov edx, eax
mov edi, dword [esi + 0x54]
xor edx, edi
and eax, edi
mov edi, dword [esi + 0x2c]
add edx, dword [esi + 0xa0]
lea eax, [edx + eax*2]
add ebx, dword [esi + 0x9c]
add ebx, ecx
mov edx, dword [esi + 0x6c]
lea ecx, [edx + eax*4]
mov dword [esi + 0x28], eax
add ecx, dword [edx + eax*4]
mov edx, dword [esi + 0x68]
mov eax, dword [esi + 0x20]
mov dword [esi + 0x18], ecx
mov dword [esi + 0x24], 0
mov ecx, dword [esi + 0x14]
xor dword [esi + 4], ecx
xor dword [esi + 0x10], edi
xor dword [esi], edx
xor dword [esi + 8], eax
add ebx, dword [esi + 0x1c]
cmp ebx, dword [esi + 0x34]
jge 0x4d37d4
mov eax, dword [esi + 0x50]
lea edx, [eax + ebx]
cmp dword [esi + 0x44], 0xcbdf2631
jne 0x4d4550
nop
mov eax, dword [esi + 0x4c]
lea ecx, [eax + edx]
mov edi, dword [esi + 0x18]
sub ecx, edi
sub ecx, edi
mov eax, dword [esi + 0x24]
shld eax, edi, cl
shl edi, cl
test cl, 0x20
cmovne eax, edi
mov ecx, 0
cmovne edi, ecx
mov ecx, dword [esi + 0x88]
sub ecx, edi
mov edi, dword [esi + 0x7c]
sbb edi, eax
cmp ecx, dword [esi + 0x1c]
sbb edi, dword [esi + 0x78]
mov eax, dword [edx + 0xc]
mov dword [esi + 0x14], eax
mov edi, dword [edx + 8]
mov eax, dword [edx]
mov edx, dword [edx + 4]
jl 0x4d4440
jmp 0x4d44d8
nop
mov ecx, dword [esi + 0x8c]
add ecx, dword [esi + 0x18]
mov eax, dword [esi + 0x90]
adc eax, dword [esi + 0x24]
sub ecx, edx
sbb eax, 0
cmp ecx, dword [esi + 0x80]
sbb eax, dword [esi + 0x84]
mov eax, dword [edx + 0xc]
mov dword [esi + 0x14], eax
mov edi, dword [edx + 8]
mov eax, dword [edx]
mov edx, dword [edx + 4]
jl 0x4d4440
jmp 0x4d44d8
nop
mov dword [esi + 0x228], 0
call fcn.006fce21
nop
mov eax, dword [0x847168]
mov edi, dword [0x847150]
or edi, dword [esi + 0x38]
sub edi, dword [esi + 0x28]
add edi, eax
mov ebx, dword [esi + 0xc]
xor ebx, 0x7ede9241
mov dword [esi + 0x228], 0xffffffff
mov ecx, edi
call dword [0x834360]
mov ecx, ebx
call edi
mov dword [esi + 0x228], 7
push 0x846db0
call fcn.0071b56a
add esp, 4
nop
mov dword [esi + 0x228], 2
call fcn.006fce21
nop word [eax + eax]
push ebp
sub esp, 0x10
lea esi, [ebp - 0x22c]
mov ebp, dword [esi + 0x218]
call fcn.007311e0
nop word cs:[eax + eax]
push ebp
sub esp, 0x10
lea esi, [ebp - 0x22c]
mov ebp, dword [esi + 0x218]
call fcn.007311e0
nop word cs:[eax + eax]
push ebp
sub esp, 0x10
lea esi, [ebp - 0x22c]
mov ebp, dword [esi + 0x218]
nop
mov eax, dword [0x84716c]
mov edi, dword [0x847140]
or edi, dword [esi + 0x38]
sub edi, dword [esi + 0x28]
add edi, eax
mov ecx, edi
call dword [0x834360]
lea ecx, [esi + 0x144]
call edi
add esp, 0x10
pop ebp
ret