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

Disassembly:
push ebp
push edi
push esi
push ebx
sub esp, 0xcc
mov dword [esp + 0x40], eax
mov dword [esp + 0x1c], edx
mov eax, ecx
mov dword [esp + 0x64], edx
mov dword [esp + 0x68], ecx
lea edx, [ecx + ecx]
add edx, edx
add edx, edx
mov ebx, ecx
shr ebx, 0x1d
setne cl
mov dword [esp + 0x18], edx
mov dword [esp + 0x6c], edx
test eax, eax
je 0x4dd7c2
movzx ecx, cl
mov ebp, 0x69
test ecx, ecx
je 0x4dd7bd
mov eax, ebp
add esp, 0xcc
pop ebx
pop esi
pop edi
pop ebp
ret
cmp edx, 0xffffffbf
ja 0x4dd7b0
mov dword [esp + 0x70], 0
xor ebp, ebp
mov eax, dword [esp + 0x18]
sub eax, ebp
cmp eax, 2
jbe 0x4ddaf7
mov eax, ebp
shr eax, 3
mov ebx, dword [esp + 0x68]
mov dword [esp + 0x10], ebx
lea edx, [eax + 1]
mov ecx, ebp
and ecx, 7
cmp edx, ebx
jae 0x4dd9fb
mov ebx, dword [esp + 0x64]
movzx edx, byte [ebx + eax + 1]
shl edx, 8
movzx eax, byte [ebx + eax]
or eax, edx
shr eax, cl
mov ebx, eax
shr ebx, 1
and ebx, 3
mov edx, eax
shr edx, 3
and eax, 1
mov dword [esp + 0x44], eax
mov dword [esp + 0x74], edx
lea esi, [ebp + 3]
mov dword [esp + 0x70], esi
cmp ebx, 3
je 0x4ddb3a
test ebx, ebx
je 0x4dda1e
mov eax, dword [esp + 0xe0]
mov eax, dword [eax + 8]
mov dword [esp + 0x2c], eax
mov edi, dword [esp + 0x40]
mov eax, dword [edi + 4]
mov dword [esp + 0x14], eax
add eax, 0x104
mov edx, dword [edi + 8]
cmp edx, eax
jb 0x4ddb44
mov dword [esp + 0x78], 0
mov dword [esp + 0x7c], 0
mov dword [esp + 0x88], 0
mov dword [esp + 0x8c], 0
mov dword [esp + 0x90], 0
mov dword [esp + 0x94], 0
mov dword [esp + 0xa0], 0
mov dword [esp + 0xa4], 0
cmp ebx, 1
je 0x4ddb71
mov eax, dword [esp + 0x18]
sub eax, esi
cmp eax, 0xd
jbe 0x4de26f
mov eax, esi
shr eax, 3
lea edx, [eax + 2]
lea ecx, [eax + 1]
and esi, 7
mov ebx, dword [esp + 0x10]
cmp edx, ebx
jae 0x4ddc47
mov ecx, dword [esp + 0x64]
movzx edx, byte [ecx + eax + 1]
shl edx, 8
movzx ebx, byte [ecx + eax + 2]
shl ebx, 0x10
or edx, ebx
movzx eax, byte [ecx + eax]
or eax, edx
mov ecx, esi
shr eax, cl
mov dword [esp + 0x28], eax
mov edi, dword [esp + 0x28]
mov eax, edi
shr eax, 0xe
mov dword [esp + 0x74], eax
lea ebx, [ebp + 0x11]
mov dword [esp + 0x70], ebx
shr edi, 0xa
mov esi, edi
and esi, 0xf
add esi, 4
mov dword [esp], 0x4c
call fcn.004ee258
mov dword [esp + 0x14], eax
test eax, eax
je 0x4de9e7
mov dword [esp + 0xa8], 0
mov dword [esp + 0xac], 0
mov dword [esp + 0xb8], 0
mov dword [esp + 0xbc], 0
lea eax, [esi + esi]
add eax, esi
add eax, ebx
mov edx, eax
jb 0x4de16f
cmp dword [esp + 0x18], eax
jb 0x4de16f
mov edi, dword [esp + 0x64]
mov dword [esp + 0x38], edi
xor eax, eax
mov ebp, dword [esp + 0x10]
mov dword [esp + 0x20], esi
mov esi, edi
mov dword [esp + 0x30], edx
jmp 0x4dd9dc
movzx edi, byte [esi + edx + 1]
shl edi, 8
movzx edx, byte [esi + edx]
or edx, edi
shr edx, cl
mov edi, edx
and edi, 7
shr edx, 3
mov dword [esp + 0x24], edx
mov ecx, dword [eax*4 + 0x4f3860]
mov edx, dword [esp + 0x14]
mov dword [edx + ecx*4], edi
add eax, 1
add ebx, 3
cmp dword [esp + 0x20], eax
je 0x4de2b1
mov edx, ebx
shr edx, 3
lea edi, [edx + 1]
mov ecx, ebx
and ecx, 7
cmp edi, ebp
jb 0x4dd9a2
cmp edx, ebp
jae 0x4de213
movzx edx, byte [esi + edx]
jmp 0x4dd9b0
mov ebx, dword [esp + 0x10]
cmp eax, ebx
jb 0x4ddb09
mov dword [esp + 0x74], 0
lea eax, [ebp + 3]
mov dword [esp + 0x70], eax
mov dword [esp + 0x44], 0
lea ebx, [ebp + 0xa]
shr ebx, 3
lea esi, [ebx + 4]
mov eax, dword [esp + 0x10]
cmp esi, eax
jae 0x4ddaf7
mov ebp, dword [esp + 0x64]
movzx edi, byte [ebp + ebx + 1]
shl edi, 8
movzx eax, byte [ebp + ebx]
add edi, eax
movzx eax, byte [ebp + ebx + 2]
movzx edx, byte [ebp + ebx + 3]
mov ebx, dword [esp + 0xe0]
mov ecx, dword [ebx + 4]
test ecx, ecx
jne 0x4dda71
shl edx, 8
add edx, eax
add edx, edi
cmp edx, 0xffff
jne 0x4de2a7
mov eax, dword [esp + 0x40]
mov edx, dword [eax + 4]
add edx, edi
mov dword [eax + 4], edx
mov eax, dword [eax + 8]
cmp eax, edx
jb 0x4de230
lea ebx, [esi + edi]
cmp dword [esp + 0x10], ebx
jb 0x4de265
test edi, edi
jne 0x4ddc1d
add esi, esi
add esi, esi
add esi, esi
mov dword [esp + 0x70], esi
mov eax, dword [esp + 0xe0]
mov eax, dword [eax + 8]
test eax, eax
je 0x4ddad0
mov ebx, dword [esp + 0x40]
cmp eax, dword [ebx + 4]
jae 0x4ddad0
mov ebp, 0x6d
mov eax, ebp
add esp, 0xcc
pop ebx
pop esi
pop edi
pop ebp
ret
mov eax, dword [esp + 0x44]
test eax, eax
jne 0x4de6d4
mov eax, dword [esp + 0x6c]
mov dword [esp + 0x18], eax
mov ebp, dword [esp + 0x70]
mov eax, dword [esp + 0x18]
sub eax, ebp
cmp eax, 2
ja 0x4dd7db
mov ebp, 0x34
mov eax, ebp
add esp, 0xcc
pop ebx
pop esi
pop edi
pop ebp
ret
mov edx, dword [esp + 0x64]
movzx edx, byte [edx + eax]
shr edx, cl
mov eax, edx
and eax, 1
mov dword [esp + 0x44], eax
mov ebx, edx
shr ebx, 1
and ebx, 3
shr edx, 3
mov dword [esp + 0x74], edx
lea esi, [ebp + 3]
mov dword [esp + 0x70], esi
cmp ebx, 3
jne 0x4dd833
mov ebp, 0x14
jmp 0x4dd7b0
shr edx, 1
lea edi, [edx + eax]
mov dword [esp + 4], edi
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.004ee298
test eax, eax
je 0x4dea0b
mov ecx, dword [esp + 0x40]
mov dword [ecx + 8], edi
mov dword [ecx], eax
jmp 0x4dd864
lea eax, [esp + 0x78]
call fcn.004db079
mov ebp, eax
test eax, eax
je 0x4ddc7c
mov edx, dword [esp + 0x78]
mov esi, dword [esp + 0x7c]
mov eax, dword [esp + 0x88]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x28], eax
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
xor ebx, ebx
mov dword [esp + 0x14], 0
mov dword [esp], edx
call fcn.004ee218
mov dword [esp], esi
call fcn.004ee218
mov eax, dword [esp + 0x24]
mov dword [esp], eax
call fcn.004ee218
mov eax, dword [esp + 0x28]
mov dword [esp], eax
call fcn.004ee218
mov eax, dword [esp + 0x14]
mov dword [esp], eax
call fcn.004ee218
mov dword [esp], ebx
call fcn.004ee218
mov eax, dword [esp + 0x38]
mov dword [esp], eax
call fcn.004ee218
mov eax, dword [esp + 0x3c]
mov dword [esp], eax
call fcn.004ee218
test ebp, ebp
je 0x4ddaa7
jmp 0x4dd7b0
mov dword [esp + 8], edi
lea eax, [ebp + esi]
mov dword [esp + 4], eax
mov esi, dword [esp + 0x40]
mov eax, dword [esi + 4]
mov dword [esp + 0x10], eax
sub eax, edi
add eax, dword [esi]
mov dword [esp], eax
call fcn.004ee268
mov esi, ebx
jmp 0x4dda9d
xor ebx, ebx
mov edi, dword [esp + 0x10]
cmp eax, edi
jae 0x4ddc59
mov edx, dword [esp + 0x64]
movzx ebx, byte [edx + eax]
mov edi, dword [esp + 0x10]
cmp ecx, edi
jae 0x4ddc6f
mov edx, dword [esp + 0x64]
movzx eax, byte [edx + eax + 1]
shl eax, 8
or ebx, eax
mov ecx, esi
shr ebx, cl
mov dword [esp + 0x28], ebx
jmp 0x4dd90c
lea eax, [esp + 0x90]
call fcn.004dad72
mov ebp, eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x28], eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x3c], eax
test ebp, ebp
jne 0x4ddefd
mov ecx, dword [esp + 0x70]
lea edi, [esp + 0x64]
mov dword [esp + 0x4c], ebp
mov ebx, dword [esp + 0x40]
mov dword [esp + 0x14], edi
mov eax, ecx
shr eax, 3
lea edx, [eax + 4]
lea ebp, [eax + 1]
lea edi, [eax + 2]
lea esi, [eax + 3]
mov dword [esp + 0x20], esi
and ecx, 7
mov esi, dword [esp + 0x10]
cmp edx, esi
jae 0x4ddf1c
mov edi, dword [esp + 0x1c]
movzx edx, byte [edi + eax + 1]
shl edx, 8
movzx esi, byte [edi + eax + 2]
shl esi, 0x10
or esi, edx
movzx edx, byte [edi + eax]
or esi, edx
movzx edx, byte [edi + eax + 3]
shl edx, 0x18
or edx, esi
shr edx, cl
movzx eax, byte [edi + eax + 4]
shl eax, 0x18
mov esi, 8
sub esi, ecx
mov ecx, esi
shl eax, cl
or edx, eax
mov dword [esp + 0x74], edx
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
call fcn.004da8d1
cmp eax, 0xff
jbe 0x4ddffe
lea edx, [eax - 0x101]
cmp edx, 0x1c
ja 0x4ddf79
mov eax, dword [edx*4 + 0x4f3a40]
mov dword [esp + 0x20], eax
mov ebp, dword [edx*4 + 0x4f39c0]
mov edx, dword [esp + 0x70]
mov eax, dword [esp + 0x68]
test ebp, ebp
jne 0x4de0b6
mov esi, edx
shr esi, 3
lea ecx, [esi + 4]
lea edi, [esi + 1]
lea ebp, [esi + 2]
mov dword [esp + 0x30], ebp
lea ebp, [esi + 3]
mov dword [esp + 0x34], ebp
and edx, 7
mov ebp, edx
cmp ecx, eax
jae 0x4de040
mov eax, dword [esp + 0x64]
movzx edx, byte [eax + esi + 1]
shl edx, 8
movzx ecx, byte [eax + esi + 2]
shl ecx, 0x10
or ecx, edx
movzx edx, byte [eax + esi]
or ecx, edx
movzx edx, byte [eax + esi + 3]
shl edx, 0x18
or edx, ecx
mov ecx, ebp
shr edx, cl
movzx eax, byte [eax + esi + 4]
shl eax, 0x18
mov ecx, 8
sub ecx, ebp
shl eax, cl
or edx, eax
mov dword [esp + 0x74], edx
mov ecx, dword [esp + 0x3c]
mov edx, dword [esp + 0x38]
mov eax, dword [esp + 0x14]
call fcn.004da8d1
cmp eax, 0x1d
ja 0x4de60e
mov esi, dword [eax*4 + 0x4f3940]
mov ecx, dword [eax*4 + 0x4f38c0]
test ecx, ecx
je 0x4dde34
mov edx, dword [esp + 0x74]
mov eax, edx
shr eax, cl
mov dword [esp + 0x74], eax
add dword [esp + 0x70], ecx
mov eax, 0xffffffff
shl eax, cl
not eax
and eax, edx
add esi, eax
mov ebp, dword [ebx + 4]
cmp ebp, esi
jb 0x4de638
mov edi, ebp
sub edi, esi
mov edx, dword [esp + 0x20]
lea eax, [ebp + edx]
mov dword [ebx + 4], eax
mov ecx, dword [ebx]
cmp esi, edx
jae 0x4de091
test esi, esi
je 0x4de222
mov dword [esp + 8], esi
lea eax, [ecx + edi]
mov dword [esp + 4], eax
add ecx, ebp
mov dword [esp], ecx
call fcn.004ee268
lea edx, [ebp + esi]
mov ecx, dword [ebx]
lea eax, [edi + 1]
mov dword [esp + 0x30], eax
movzx eax, byte [ecx + edi]
mov byte [ecx + edx], al
lea ecx, [esi + 1]
sub edi, esi
mov eax, dword [esp + 0x20]
add edi, eax
sub esi, ebp
add esi, edx
cmp ecx, eax
jae 0x4ddeba
mov eax, dword [esp + 0x30]
mov ebp, ebx
lea ecx, [esi + eax]
mov edx, dword [ebp]
mov ebx, eax
add eax, 1
movzx ebx, byte [edx + ebx]
mov byte [edx + ecx], bl
cmp eax, edi
jne 0x4ddea2
mov ebx, ebp
mov eax, dword [ebx + 4]
xor esi, esi
mov edx, dword [ebx + 8]
mov ecx, edx
sub ecx, eax
cmp ecx, 0x103
jbe 0x4ddf9f
mov ecx, dword [esp + 0x70]
cmp dword [esp + 0x18], ecx
jb 0x4ddfda
mov eax, dword [esp + 0x2c]
test eax, eax
je 0x4ddef1
cmp eax, dword [ebx + 4]
jb 0x4de39b
test esi, esi
je 0x4ddcd2
mov ebp, dword [esp + 0x4c]
mov eax, dword [esp + 0x90]
mov dword [esp + 0x14], eax
mov ebx, dword [esp + 0x94]
mov edx, dword [esp + 0x78]
mov esi, dword [esp + 0x7c]
jmp 0x4ddbbc
xor edx, edx
mov esi, dword [esp + 0x10]
cmp eax, esi
jae 0x4ddf2e
mov esi, dword [esp + 0x1c]
movzx edx, byte [esi + eax]
mov esi, dword [esp + 0x10]
cmp ebp, esi
jae 0x4ddf44
mov esi, dword [esp + 0x1c]
movzx ebp, byte [esi + eax + 1]
shl ebp, 8
or edx, ebp
mov esi, dword [esp + 0x10]
cmp edi, esi
jae 0x4ddf5a
mov edi, dword [esp + 0x1c]
movzx edi, byte [edi + eax + 2]
shl edi, 0x10
or edx, edi
mov edi, dword [esp + 0x10]
cmp dword [esp + 0x20], edi
jae 0x4ddf72
mov edi, dword [esp + 0x1c]
movzx eax, byte [edi + eax + 3]
shl eax, 0x18
or edx, eax
shr edx, cl
jmp 0x4ddd33
cmp eax, 0x100
jne 0x4de5ea
mov eax, dword [ebx + 4]
mov esi, 1
mov edx, dword [ebx + 8]
mov ecx, edx
sub ecx, eax
cmp ecx, 0x103
ja 0x4dded2
add eax, 0x104
cmp edx, eax
jae 0x4dded2
shr edx, 1
lea edi, [edx + eax]
mov dword [esp + 4], edi
mov eax, dword [ebx]
mov dword [esp], eax
call fcn.004ee298
test eax, eax
je 0x4de993
mov dword [ebx + 8], edi
mov dword [ebx], eax
mov ecx, dword [esp + 0x70]
cmp dword [esp + 0x18], ecx
jae 0x4ddee0
mov eax, dword [esp + 0x90]
mov dword [esp + 0x14], eax
mov ebx, dword [esp + 0x94]
mov edx, dword [esp + 0x78]
mov esi, dword [esp + 0x7c]
mov ebp, 0x33
jmp 0x4ddbbc
mov ecx, dword [ebx]
mov edx, dword [ebx + 4]
lea esi, [edx + 1]
mov dword [ebx + 4], esi
mov byte [ecx + edx], al
mov ecx, dword [esp + 0x28]
mov edx, dword [esp + 0x24]
mov eax, dword [esp + 0x14]
call fcn.004da8d1
cmp eax, 0xff
ja 0x4ddd53
mov ecx, dword [ebx]
mov edx, dword [ebx + 4]
lea esi, [edx + 1]
mov dword [ebx + 4], esi
mov byte [ecx + edx], al
mov eax, dword [ebx + 4]
xor esi, esi
jmp 0x4ddebf
xor edx, edx
cmp esi, eax
jae 0x4de04e
mov edx, dword [esp + 0x64]
movzx edx, byte [edx + esi]
cmp edi, eax
jae 0x4de060
mov edi, dword [esp + 0x64]
movzx edi, byte [edi + esi + 1]
shl edi, 8
or edx, edi
cmp dword [esp + 0x30], eax
jae 0x4de074
mov ecx, dword [esp + 0x64]
movzx ecx, byte [ecx + esi + 2]
shl ecx, 0x10
or edx, ecx
cmp dword [esp + 0x34], eax
jae 0x4de088
mov eax, dword [esp + 0x64]
movzx eax, byte [eax + esi + 3]
shl eax, 0x18
or edx, eax
mov ecx, ebp
shr edx, cl
jmp 0x4ddde7
mov esi, dword [esp + 0x20]
test esi, esi
je 0x4de229
mov dword [esp + 8], esi
add edi, ecx
mov dword [esp + 4], edi
add ecx, ebp
mov dword [esp], ecx
call fcn.004ee268
jmp 0x4ddeba
mov ecx, edx
shr ecx, 3
lea esi, [ecx + 3]
lea edi, [ecx + 1]
mov dword [esp + 0x34], edi
lea edi, [ecx + 2]
mov dword [esp + 0x48], edi
mov edi, edx
and edi, 7
mov dword [esp + 0x30], edi
cmp esi, eax
jae 0x4de130
mov edi, dword [esp + 0x64]
movzx esi, byte [edi + ecx + 1]
shl esi, 8
mov edi, esi
mov esi, dword [esp + 0x64]
movzx esi, byte [esi + ecx + 2]
shl esi, 0x10
or esi, edi
mov edi, dword [esp + 0x64]
movzx edi, byte [edi + ecx]
or esi, edi
mov edi, dword [esp + 0x64]
movzx ecx, byte [edi + ecx + 3]
shl ecx, 0x18
or esi, ecx
movzx ecx, byte [esp + 0x30]
shr esi, cl
add edx, ebp
mov dword [esp + 0x70], edx
mov edi, 0xffffffff
mov ecx, ebp
shl edi, cl
not edi
and edi, esi
add dword [esp + 0x20], edi
jmp 0x4ddd84
xor esi, esi
cmp ecx, eax
jae 0x4de13e
mov esi, dword [esp + 0x64]
movzx esi, byte [esi + ecx]
cmp dword [esp + 0x34], eax
jae 0x4de152
mov edi, dword [esp + 0x64]
movzx edi, byte [edi + ecx + 1]
shl edi, 8
or esi, edi
cmp dword [esp + 0x48], eax
jae 0x4de166
mov edi, dword [esp + 0x64]
movzx ecx, byte [edi + ecx + 2]
shl ecx, 0x10
or esi, ecx
movzx ecx, byte [esp + 0x30]
shr esi, cl
jmp 0x4de114
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x34], 0
mov dword [esp + 0x30], 0
mov dword [esp + 0x4c], 0
xor ebx, ebx
mov dword [esp + 0x48], 0
mov dword [esp + 0x20], 0
mov ebp, 0x32
mov eax, dword [esp + 0x14]
mov dword [esp], eax
call fcn.004ee218
mov eax, dword [esp + 0x20]
mov dword [esp], eax
call fcn.004ee218
mov eax, dword [esp + 0x48]
mov dword [esp], eax
call fcn.004ee218
mov dword [esp], ebx
call fcn.004ee218
mov eax, dword [esp + 0x4c]
mov dword [esp], eax
call fcn.004ee218
mov eax, dword [esp + 0x30]
mov dword [esp], eax
call fcn.004ee218
mov eax, dword [esp + 0x34]
mov dword [esp], eax
call fcn.004ee218
jmp 0x4ddcb6
mov dword [esp + 0x24], 0
xor edi, edi
jmp 0x4dd9be
mov edx, edi
jmp 0x4dde7b
xor esi, esi
jmp 0x4ddebf
shr eax, 1
lea ebx, [eax + edx]
mov dword [esp + 4], ebx
mov eax, dword [esp + 0x40]
mov eax, dword [eax]
mov dword [esp], eax
call fcn.004ee298
test eax, eax
je 0x4dea0b
mov ecx, dword [esp + 0x40]
mov dword [ecx + 8], ebx
mov dword [ecx], eax
lea ebx, [esi + edi]
cmp dword [esp + 0x10], ebx
jae 0x4dda95
mov ebp, 0x17
jmp 0x4dd7b0
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
xor esi, esi
xor edx, edx
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
xor ebx, ebx
mov dword [esp + 0x14], 0
mov ebp, 0x31
jmp 0x4ddbbc
mov ebp, 0x15
jmp 0x4dd7b0
mov esi, dword [esp + 0x20]
mov edi, dword [esp + 0x24]
mov edx, dword [esp + 0x30]
mov dword [esp + 0x74], edi
mov dword [esp + 0x70], edx
cmp esi, 0x13
je 0x4de2e4
mov edx, dword [esp + 0x14]
mov eax, dword [esi*4 + 0x4f3860]
mov dword [edx + eax*4], 0
add esi, 1
cmp esi, 0x13
jne 0x4de2ce
mov dword [esp], 0x4c
call fcn.004ee258
mov dword [esp + 0x20], eax
mov dword [esp + 0xac], eax
test eax, eax
je 0x4de9b7
mov ecx, 0x13
mov edi, dword [esp + 0x20]
mov esi, dword [esp + 0x14]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0xb4], 0x13
mov dword [esp + 0xb0], 7
lea eax, [esp + 0xa8]
call fcn.004d9b65
mov ebp, eax
test eax, eax
je 0x4de3bf
mov ebx, dword [esp + 0xa8]
mov eax, dword [esp + 0xac]
mov dword [esp + 0x4c], eax
mov eax, dword [esp + 0xb8]
mov dword [esp + 0x30], eax
mov eax, dword [esp + 0xbc]
mov dword [esp + 0x34], eax
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov dword [esp + 0x48], 0
mov dword [esp + 0x20], 0
jmp 0x4de1be
mov eax, dword [esp + 0x90]
mov dword [esp + 0x14], eax
mov ebx, dword [esp + 0x94]
mov edx, dword [esp + 0x78]
mov esi, dword [esp + 0x7c]
mov ebp, 0x6d
jmp 0x4ddbbc
mov dword [esp + 4], 1
mov dword [esp], 0x480
call fcn.004ee1e8
mov ebx, eax
mov dword [esp + 0x20], eax
mov dword [esp + 4], 1
mov dword [esp], pe_nt_image_headers32
call fcn.004ee1e8
mov dword [esp + 0x48], eax
mov edi, dword [esp + 0xb8]
mov dword [esp + 0x30], edi
mov edi, dword [esp + 0xbc]
mov dword [esp + 0x34], edi
test ebx, ebx
je 0x4de95c
test eax, eax
je 0x4de95c
mov ebx, dword [esp + 0x28]
mov eax, ebx
and eax, 0x1f
lea esi, [eax + 0x101]
shr ebx, 5
mov edx, ebx
and edx, 0x1f
lea ebp, [edx + esi]
lea ebx, [ebp + 1]
mov dword [esp + 0x3c], ebx
mov edx, eax
neg edx
add edx, edx
add edx, edx
mov ebx, dword [esp + 0x48]
add ebx, edx
mov dword [esp + 0x54], ebx
mov dword [esp + 0x58], 0
xor ebx, ebx
lea edi, [esp + 0x64]
add eax, 0x102
mov dword [esp + 0x5c], eax
mov dword [esp + 0x50], ebp
mov dword [esp + 0x4c], edi
jmp 0x4de4de
mov ebp, dword [esp + 0x38]
movzx edx, byte [ebp + eax + 1]
shl edx, 8
movzx edi, byte [ebp + eax + 2]
shl edi, 0x10
or edi, edx
movzx edx, byte [ebp + eax]
or edx, edi
movzx eax, byte [ebp + eax + 3]
shl eax, 0x18
or edx, eax
shr edx, cl
mov dword [esp + 0x74], edx
mov ecx, dword [esp + 0x34]
mov edx, dword [esp + 0x30]
mov eax, dword [esp + 0x4c]
call fcn.004da8d1
cmp eax, 0xf
ja 0x4de550
cmp ebx, esi
jae 0x4de5da
mov edi, dword [esp + 0x20]
mov dword [edi + ebx*4], eax
add ebx, 1
mov eax, dword [esp + 0x70]
cmp dword [esp + 0x18], eax
jb 0x4de7dc
mov eax, dword [esp + 0x3c]
cmp ebx, eax
jae 0x4de786
mov ecx, dword [esp + 0x70]
mov eax, ecx
shr eax, 3
lea edx, [eax + 3]
lea edi, [eax + 1]
mov dword [esp + 0x24], edi
lea edi, [eax + 2]
mov dword [esp + 0x28], edi
and ecx, 7
mov ebp, dword [esp + 0x10]
cmp edx, ebp
jb 0x4de46b
xor edx, edx
mov ebp, dword [esp + 0x10]
cmp eax, ebp
jae 0x4de519
mov edi, dword [esp + 0x38]
movzx edx, byte [edi + eax]
mov edi, dword [esp + 0x10]
cmp dword [esp + 0x24], edi
jae 0x4de531
mov edi, dword [esp + 0x38]
movzx edi, byte [edi + eax + 1]
shl edi, 8
or edx, edi
mov edi, dword [esp + 0x10]
cmp dword [esp + 0x28], edi
jae 0x4de549
mov edi, dword [esp + 0x38]
movzx eax, byte [edi + eax + 2]
shl eax, 0x10
or edx, eax
shr edx, cl
jmp 0x4de494
cmp eax, 0x10
je 0x4de6db
cmp eax, 0x11
je 0x4de65c
cmp eax, 0x12
jne 0x4de8a3
mov edx, dword [esp + 0x74]
mov eax, edx
shr eax, 7
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x70]
add eax, 7
mov dword [esp + 0x70], eax
and edx, 0x7f
lea ecx, [edx + 0xb]
add ecx, ebx
mov ebp, dword [esp + 0x50]
mov edi, dword [esp + 0x54]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x20]
jmp 0x4de5b5
mov dword [eax + ebx*4], 0
lea edx, [ebx + 1]
cmp edx, ecx
je 0x4de5cb
cmp ebx, ebp
je 0x4de6bb
mov ebx, edx
cmp ebx, esi
jb 0x4de59d
mov dword [edi + ebx*4 - 0x404], 0
lea edx, [ebx + 1]
cmp edx, ecx
jne 0x4de5ab
mov dword [esp + 0x50], ebp
mov eax, dword [esp + 0x24]
mov ebx, ecx
jmp 0x4de4c8
mov edx, ebx
sub edx, esi
mov edi, dword [esp + 0x48]
mov dword [edi + edx*4], eax
jmp 0x4de4c1
mov eax, dword [esp + 0x90]
mov dword [esp + 0x14], eax
mov ebx, dword [esp + 0x94]
mov edx, dword [esp + 0x78]
mov esi, dword [esp + 0x7c]
mov ebp, 0x10
jmp 0x4ddbbc
mov edx, dword [esp + 0x78]
mov esi, dword [esp + 0x7c]
mov ebx, dword [esp + 0x90]
mov dword [esp + 0x14], ebx
mov ebx, dword [esp + 0x94]
cmp eax, 0x20
sbb ebp, ebp
and ebp, 2
add ebp, 0x10
jmp 0x4ddbbc
mov eax, dword [esp + 0x90]
mov dword [esp + 0x14], eax
mov ebx, dword [esp + 0x94]
mov edx, dword [esp + 0x78]
mov esi, dword [esp + 0x7c]
mov ebp, 0x34
jmp 0x4ddbbc
mov edx, dword [esp + 0x74]
mov eax, edx
shr eax, 3
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x70]
add eax, 3
mov dword [esp + 0x70], eax
and edx, 7
lea ecx, [edx + 3]
add ecx, ebx
mov ebp, dword [esp + 0x50]
mov edi, dword [esp + 0x54]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x20]
jmp 0x4de6aa
mov dword [eax + ebx*4], 0
lea edx, [ebx + 1]
cmp edx, ecx
je 0x4de5cb
cmp ebx, ebp
je 0x4de74a
mov ebx, edx
cmp ebx, esi
jb 0x4de68e
mov dword [edi + ebx*4 - 0x404], 0
jmp 0x4de695
mov dword [esp + 0x50], ebp
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x58], 0xf
jmp 0x4de4c8
xor ebp, ebp
jmp 0x4dd7b0
test ebx, ebx
je 0x4de8ad
mov edx, dword [esp + 0x74]
mov eax, edx
shr eax, 2
mov dword [esp + 0x74], eax
mov eax, dword [esp + 0x70]
add eax, 2
mov dword [esp + 0x70], eax
and edx, 3
lea ecx, [edx + 3]
mov edi, dword [esp + 0x5c]
cmp ebx, edi
jb 0x4de763
mov edx, ebx
sub edx, esi
mov edi, dword [esp + 0x48]
mov edi, dword [edi + edx*4 - 4]
add ecx, ebx
mov ebp, dword [esp + 0x50]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x20]
jmp 0x4de739
mov dword [eax + ebx*4], edi
lea edx, [ebx + 1]
cmp edx, ecx
je 0x4de5cb
cmp ebx, ebp
je 0x4de76d
mov ebx, edx
cmp ebx, esi
jb 0x4de725
mov edx, dword [esp + 0x54]
mov dword [edx + ebx*4 - 0x404], edi
jmp 0x4de728
mov dword [esp + 0x50], ebp
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x58], 0xe
jmp 0x4de4c8
mov edi, dword [esp + 0x20]
mov edi, dword [edi + ebx*4 - 4]
jmp 0x4de715
mov dword [esp + 0x50], ebp
mov eax, dword [esp + 0x24]
mov ebx, dword [esp + 0x3c]
mov dword [esp + 0x58], 0xd
jmp 0x4de4c8
mov ebp, dword [esp + 0x58]
test ebp, ebp
jne 0x4de98a
mov eax, dword [esp + 0x20]
mov edi, dword [eax + 0x400]
test edi, edi
jne 0x4de818
mov ebx, dword [esp + 0xa8]
mov eax, dword [esp + 0xac]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
mov ebp, 0x40
jmp 0x4de1be
mov ebp, 0x32
mov ebx, dword [esp + 0xa8]
mov eax, dword [esp + 0xac]
mov dword [esp + 0x4c], eax
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
mov dword [esp + 0x28], 0
mov dword [esp + 0x24], 0
jmp 0x4de1be
mov dword [esp], 0x480
call fcn.004ee258
mov edi, eax
mov dword [esp + 0x24], eax
mov dword [esp + 0x7c], eax
mov ebx, dword [esp + 0xa8]
mov eax, dword [esp + 0xac]
mov dword [esp + 0x4c], eax
test edi, edi
je 0x4de934
mov ecx, 0x120
mov esi, dword [esp + 0x20]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x84], 0x120
mov dword [esp + 0x80], 0xf
lea eax, [esp + 0x78]
call fcn.004d9b65
mov ebp, eax
test eax, eax
je 0x4de8b7
mov eax, dword [esp + 0x88]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x28], eax
mov dword [esp + 0x3c], 0
mov dword [esp + 0x38], 0
jmp 0x4de1be
mov ebp, 0x10
jmp 0x4de7e1
mov ebp, 0x36
jmp 0x4de7e1
mov dword [esp], pe_nt_image_headers32
call fcn.004ee258
mov edi, eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x94], eax
mov eax, dword [esp + 0x88]
mov dword [esp + 0x24], eax
mov eax, dword [esp + 0x8c]
mov dword [esp + 0x28], eax
test edi, edi
je 0x4de94c
mov ecx, 0x20
mov esi, dword [esp + 0x48]
rep movsd dword es:[edi], dword [esi]
mov dword [esp + 0x9c], 0x20
mov dword [esp + 0x98], 0xf
lea eax, [esp + 0x90]
call fcn.004d9b65
mov ebp, eax
mov eax, dword [esp + 0xa0]
mov dword [esp + 0x38], eax
mov eax, dword [esp + 0xa4]
mov dword [esp + 0x3c], eax
jmp 0x4de1be
xor ecx, ecx
mov dword [esp + 0x3c], ecx
mov dword [esp + 0x38], ecx
mov dword [esp + 0x28], ecx
mov ebp, 0x53
jmp 0x4de1be
xor edx, edx
mov dword [esp + 0x3c], edx
mov ebp, 0x53
jmp 0x4de1be
mov ebx, dword [esp + 0xa8]
mov eax, dword [esp + 0xac]
mov dword [esp + 0x4c], eax
xor eax, eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], eax
mov ebp, 0x53
jmp 0x4de1be
mov ebp, dword [esp + 0x58]
jmp 0x4de7e1
mov eax, dword [esp + 0x90]
mov dword [esp + 0x14], eax
mov ebx, dword [esp + 0x94]
mov edx, dword [esp + 0x78]
mov esi, dword [esp + 0x7c]
mov ebp, 0x53
jmp 0x4ddbbc
xor ebx, ebx
mov dword [esp + 0x3c], ebx
mov dword [esp + 0x38], ebx
mov dword [esp + 0x28], ebx
mov dword [esp + 0x24], ebx
mov dword [esp + 0x34], ebx
mov dword [esp + 0x30], ebx
mov dword [esp + 0x4c], ebx
xor ebx, ebx
xor esi, esi
mov dword [esp + 0x48], esi
mov ebp, 0x53
jmp 0x4de1be
xor eax, eax
mov dword [esp + 0x28], eax
mov dword [esp + 0x24], eax
xor esi, esi
xor edx, edx
xor eax, eax
mov dword [esp + 0x3c], eax
mov dword [esp + 0x38], eax
xor ebx, ebx
mov ebp, 0x53
jmp 0x4ddbbc
mov ebp, 0x53
jmp 0x4dd7b0