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

Disassembly:
push ebp
mov ebp, esp
push ebx
push edi
push esi
and esp, 0xfffffff8
sub esp, 0x208
mov esi, esp
mov edi, dword [ebp + 8]
call fcn.00d63830
sub esp, 8
mov ebx, esp
push eax
mov dword [esi + 0x1f4], esp
push eax
mov dword [esi + 0x70], esp
push eax
mov dword [esi + 0x1f0], esp
sub esp, 8
mov dword [esi + 0x6c], esp
push eax
mov dword [esi + 0x1ec], esp
sub esp, 8
mov dword [esi + 0x68], esp
push eax
mov dword [esi + 0x1e8], esp
sub esp, 8
mov dword [esi + 0x64], esp
push eax
mov dword [esi + 0x1e4], esp
sub esp, 8
mov dword [esi + 0x60], esp
push eax
mov dword [esi + 0x1e0], esp
sub esp, 0x400
mov dword [esi + 0x1dc], esp
push eax
mov dword [esi + 0x14], esp
push eax
mov dword [esi + 0x5c], esp
push eax
mov dword [esi + 0x15c], esp
push eax
mov dword [esi + 0x1d8], esp
push eax
mov dword [esi + 0x158], esp
sub esp, 0x40
mov dword [esi + 0x154], esp
sub esp, 0x60
mov dword [esi + 0x150], esp
sub esp, 0x14
mov dword [esi + 0x58], esp
push eax
mov dword [esi + 0x1d4], esp
push eax
mov dword [esi + 0x14c], esp
sub esp, 0x10
mov dword [esi + 0x54], esp
push eax
mov dword [esi + 0x1d0], esp
sub esp, 0x10
mov dword [esi + 0x148], esp
push eax
mov dword [esi + 0x1cc], esp
sub esp, 0x10
mov dword [esi + 0x50], esp
push eax
mov dword [esi + 0x1c8], esp
push eax
mov dword [esi + 0x144], esp
push eax
mov dword [esi + 0x140], esp
push eax
mov dword [esi + 0x1c4], esp
sub esp, 8
mov dword [esi + 0x13c], esp
push eax
mov dword [esi + 0x1c0], esp
sub esp, 0x18
mov dword [esi + 0x4c], esp
push eax
mov dword [esi + 0x1bc], esp
sub esp, 8
mov dword [esi + 0x48], esp
push eax
mov dword [esi + 0x1b8], esp
sub esp, 0x40
mov dword [esi + 0x44], esp
push eax
mov dword [esi + 0x1b4], esp
sub esp, 0x38
mov dword [esi + 0x138], esp
push eax
mov dword [esi + 0x1b0], esp
sub esp, 0x44
mov dword [esi + 0x1ac], esp
sub esp, 0x10
mov dword [esi + 0x134], esp
sub esp, 8
mov eax, esp
and eax, 0xfffffff8
mov dword [esi + 0x130], eax
mov esp, eax
push eax
sub esp, 0x40
mov dword [esi + 0x1a8], esp
sub esp, 0x10
mov dword [esi + 0x40], esp
sub esp, 4
mov dword [esp], edi
call fcn.00d51980
add esp, 4
mov edi, eax
cmp edi, 0
sete al
test al, 1
jne 0xd616d7
jmp 0xd616de
xor eax, eax
jmp 0xd63385
mov dword [esi + 0x2c], 0
jmp 0xd616e7
sub esp, 4
mov dword [esp], edi
call fcn.00d51b50
add esp, 4
cmp dword [esi + 0x2c], eax
setb al
test al, 1
jne 0xd61708
jmp 0xd61701
mov al, 1
jmp 0xd63385
sub esp, 8
mov dword [esp], edi
mov eax, dword [esi + 0x2c]
mov dword [esp + 4], eax
call fcn.00d51b60
add esp, 8
mov dword [esi + 0xc], eax
mov eax, dword [esi + 0x1f4]
mov al, byte [eax]
mov byte [esi + 0xb0], al
mov ecx, ebx
mov byte [ecx], 0x5d
mov byte [ecx + 1], 0xc9
mov eax, 2
mov byte [ecx + eax], 0
add eax, 1
cmp eax, 7
jne 0xd6173c
mov dword [esi + 4], edi
xor eax, eax
mov dword [esi + 0x10], ecx
cmp eax, 7
jae 0xd617ba
movzx edi, byte [ecx + eax]
mov edx, eax
add edx, 0xb7abe52
mov ecx, edi
and ecx, 0x69
xor ecx, 0x440d869
mov ebx, edi
xor ebx, 0x440d869
or edi, 0x96
and edi, ebx
mov ebx, 0xf48541ad
sub ebx, eax
and ebx, 0xc472d869
and edx, 0x3b8d2796
or ecx, edi
or ebx, edx
xor ecx, ebx
mov edi, dword [esi + 0x10]
xor ecx, 0xc0320000
add ecx, 0xc69a4865
mov edx, ecx
shl edx, 1
and edx, 2
xor ecx, 1
add ecx, edx
mov byte [edi + eax], cl
mov ecx, edi
add eax, 1
jmp 0xd61750
sub esp, 0xc
mov eax, dword [esi + 0xc]
mov dword [esp], eax
mov ebx, ecx
mov dword [esp + 4], ecx
mov dword [esp + 8], 2
call fcn.00d51af0
add esp, 0xc
cmp eax, 0
mov edi, dword [esi + 4]
je 0xd61918
mov eax, dword [esi + 0x1f0]
mov al, byte [eax]
mov byte [esi + 0xb4], al
mov ecx, dword [esi + 0x70]
mov byte [ecx], 0x1a
mov byte [ecx + 1], 0x6b
mov byte [ecx + 2], 0xe6
mov eax, 3
mov byte [ecx + eax], 0
add eax, 1
cmp eax, 4
jne 0xd61806
xor eax, eax
cmp eax, 4
jae 0xd6184b
movzx edx, byte [ecx + eax]
mov ecx, eax
add ecx, 0xa9
mov edi, edx
xor edi, 0xffffffff
and ecx, edi
mov edi, 0x56
sub edi, eax
and edi, edx
or ecx, edi
mov edi, dword [esi + 4]
add cl, 0xb3
mov edx, dword [esi + 0x70]
mov byte [edx + eax], cl
mov ecx, dword [esi + 0x70]
add eax, 1
jmp 0xd61814
sub esp, 0xc
mov eax, dword [esi + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 3
call fcn.00d51af0
add esp, 0xc
cmp eax, 0
je 0xd61918
mov eax, dword [esi + 0x1ec]
mov al, byte [eax]
mov byte [esi + 0xb8], al
mov ecx, dword [esi + 0x6c]
mov byte [ecx], 0xad
mov byte [ecx + 1], 0x31
mov eax, 2
mov byte [ecx + eax], 0
add eax, 1
cmp eax, 8
jne 0xd6188e
xor eax, eax
cmp eax, 8
jae 0xd618e6
mov ecx, dword [esi + 0x6c]
movzx ecx, byte [ecx + eax]
mov edi, eax
add edi, 0xe3a4ae8c
xor edi, ecx
mov ecx, edi
shl ecx, 1
and ecx, 2
xor ecx, 2
mov edx, edi
and edx, 1
mov ebx, 0xbc
sub ebx, edi
mov edi, dword [esi + 4]
and ebx, 0xfe
or edx, ebx
xor edx, 0xfe
add edx, ecx
mov ecx, dword [esi + 0x6c]
mov byte [ecx + eax], dl
add eax, 1
jmp 0xd6189c
sub esp, 0xc
mov eax, dword [esi + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
mov dword [esp + 8], 3
call fcn.00d51af0
add esp, 0xc
cmp eax, 0
setne al
and al, 0xff
or al, 0
xor al, 0xff
test al, 1
mov ebx, dword [esi + 0x10]
jne 0xd6191a
jmp 0xd6191f
jmp 0xd6191a
jmp 0xd63370
mov eax, dword [esi + 0x1e8]
mov al, byte [eax]
mov byte [esi + 0xbc], al
mov ecx, dword [esi + 0x68]
mov byte [ecx], 0xcb
mov byte [ecx + 1], 0x7f
mov eax, 2
mov byte [ecx + eax], 0
add eax, 1
cmp eax, 7
jne 0xd6193c
xor eax, eax
cmp eax, 7
jae 0xd619ab
movzx ecx, byte [ecx + eax]
mov edx, eax
add edx, 0x3523ed15
mov edi, edx
and edi, ecx
shl edi, 1
mov ebx, edx
sub ebx, edi
add ebx, ecx
xor ebx, 0xffffffff
and edx, ebx
shl edx, 1
sub edx, eax
mov edi, edx
add edi, 0xcadc12eb
mov ebx, ecx
xor ebx, 0xffffffff
and edi, ebx
mov ebx, 0x14
sub ebx, edx
and ebx, ecx
sub ebx, edi
mov ecx, ebx
and ecx, 0x6a
xor ecx, 0x6a
and ebx, 0x95
sub ebx, ecx
add bl, 1
mov ecx, dword [esi + 0x68]
mov byte [ecx + eax], bl
mov ecx, dword [esi + 0x68]
add eax, 1
jmp 0xd6194a
sub esp, 8
mov eax, dword [esi + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00d51870
add esp, 8
mov dword [esi + 0x19c], eax
mov eax, dword [esi + 0x1e4]
mov al, byte [eax]
mov byte [esi + 0xc0], al
mov ecx, dword [esi + 0x64]
mov byte [ecx], 0xba
mov byte [ecx + 1], 0xab
mov byte [ecx + 2], 0x26
mov eax, 3
mov byte [ecx + eax], 0
add eax, 1
cmp eax, 7
jne 0xd619e7
xor eax, eax
cmp eax, 7
jae 0xd61a39
movzx edx, byte [ecx + eax]
mov edi, eax
shl edi, 1
and edi, 0x33155ef2
mov ecx, eax
xor ecx, 0x198aaf79
mov ebx, ecx
and ebx, edi
shl ebx, 1
xor ecx, edi
add ecx, ebx
xor ecx, edx
mov edx, ecx
xor edx, 0x5e
shl ecx, 1
and ecx, 0x42
sub ecx, edx
add cl, 1
mov edx, dword [esi + 0x64]
mov byte [edx + eax], cl
mov ecx, dword [esi + 0x64]
add eax, 1
jmp 0xd619f5
sub esp, 8
mov dword [esp + 4], ecx
mov eax, dword [esi + 0xc]
mov dword [esp], eax
call fcn.00d518d0
add esp, 8
fnstcw word [esi + 0x26]
movzx eax, word [esi + 0x26]
or eax, 0xc00
mov word [esi + 0x11a], ax
fldcw word [esi + 0x11a]
fistp dword [esi + 0x1fc]
fldcw word [esi + 0x26]
mov eax, dword [esi + 0x1fc]
mov dword [esi + 0x3c], eax
mov eax, dword [esi + 0x1e0]
mov al, byte [eax]
mov byte [esi + 0xc4], al
mov ecx, dword [esi + 0x60]
mov byte [ecx], 0x3b
mov byte [ecx + 1], 0x9f
mov eax, 2
mov byte [ecx + eax], 0
add eax, 1
cmp eax, 8
jne 0xd61a96
xor edi, edi
cmp edi, 8
jae 0xd61b0f
movzx eax, byte [ecx + edi]
mov dword [esi + 0x160], eax
mov ecx, edi
add ecx, 0xb68a8525
mov edx, ecx
and edx, eax
mov eax, edx
and eax, 2
xor eax, 2
mov ebx, edx
and ebx, 0xfd
imul ebx, eax
mov eax, edx
and eax, 2
or edx, 2
imul edx, eax
add edx, ebx
add ecx, dword [esi + 0x160]
mov eax, ecx
xor eax, edx
xor edx, 0xffffffff
and ecx, edx
shl ecx, 1
sub ecx, eax
mov eax, ecx
shl eax, 1
and eax, 2
xor ecx, 1
add ecx, 0x46
add ecx, eax
mov eax, dword [esi + 0x60]
mov byte [eax + edi], cl
mov ecx, dword [esi + 0x60]
add edi, 1
jmp 0xd61aa4
sub esp, 8
mov dword [esp + 4], ecx
mov eax, dword [esi + 0xc]
mov dword [esp], eax
call fcn.00d518d0
add esp, 8
fnstcw word [esi + 0x24]
movzx eax, word [esi + 0x24]
or eax, 0xc00
mov word [esi + 0x118], ax
fldcw word [esi + 0x118]
fistp dword [esi + 0x1f8]
fldcw word [esi + 0x24]
mov edi, dword [esi + 0x1f8]
xor eax, eax
sub esp, 0x10
mov ebx, dword [esi + 0x1dc]
mov dword [esp], ebx
mov dword [esp + 4], 0x400
mov eax, dword [esi + 0x19c]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.00d5ae30
add esp, 4
mov dword [esp], ebx
mov eax, dword [esi + 0x14]
mov dword [esp + 4], eax
mov eax, dword [esi + 0x5c]
mov dword [esp + 8], eax
call fcn.00d5b620
add esp, 0xc
test al, 1
mov ebx, dword [esi + 0x10]
mov ecx, dword [esi + 0x3c]
jne 0xd61ba9
jmp 0xd61ba1
mov edi, dword [esi + 4]
jmp 0xd63368
cmp edi, 0
sete al
mov byte [esi + 0x1f], al
test al, 1
jne 0xd61bbb
jmp 0xd62a02
mov eax, dword [esi + 0x1d8]
mov al, byte [eax]
mov byte [esi + 0xc8], al
mov edx, dword [esi + 0x15c]
mov byte [edx], 0xd4
mov byte [edx + 1], 0x47
mov eax, 2
mov byte [edx + eax], 0
add eax, 1
cmp eax, 4
jne 0xd61bdb
xor eax, eax
jmp 0xd61beb
cmp eax, 4
jae 0xd61c23
movzx edx, byte [edx + eax]
mov edi, eax
shl edi, 1
and edi, 0x2ffce2
mov ecx, eax
xor ecx, 0x8017fe71
add ecx, edi
mov edi, ecx
and edi, edx
shl edi, 1
add ecx, edx
sub ecx, edi
mov edx, dword [esi + 0x15c]
add cl, 0xcb
mov byte [edx + eax], cl
add eax, 1
jmp 0xd61beb
sub esp, 8
mov eax, dword [esi + 0xc]
mov dword [esp], eax
mov dword [esp + 4], edx
call fcn.00d51870
add esp, 8
cmp eax, 0
je 0xd61d7d
sub esp, 4
mov dword [esi + 0x168], eax
mov dword [esp], eax
call fcn.00d633a0
add esp, 4
mov edi, eax
mov dword [esi + 0x128], edi
sub edi, 0x1bb934d7
add edi, 1
add edi, 0x1bb934d7
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0xd61c84
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.00d581b0
add esp, 4
mov ebx, eax
xor eax, eax
sub esp, 0x10
mov dword [esp], ebx
mov dword [esp + 4], edi
mov eax, dword [esi + 0x168]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.00d5ae30
add esp, 0x10
xor eax, eax
sub esp, 0x18
mov dword [esp], 0
mov dword [esi + 0x124], ebx
mov dword [esp + 4], ebx
mov eax, dword [esi + 0x128]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov edi, dword [esi + 0x158]
mov dword [esp + 0x14], edi
call dword [0xfcd99640]
mov eax, dword [edi]
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0xd61d12
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.00d581b0
add esp, 4
mov ebx, dword [0xfcd99640]
mov edi, dword [esi + 0x158]
mov ecx, dword [edi]
xor edx, edx
sub esp, 0x18
mov dword [esp], 0
mov edx, dword [esi + 0x124]
mov dword [esp + 4], edx
mov edx, dword [esi + 0x128]
mov dword [esp + 8], edx
mov dword [esi], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edi
call ebx
jmp 0xd61d60
sub esp, 4
mov eax, dword [esi + 0x124]
mov dword [esp], eax
call fcn.00d581c0
add esp, 4
jmp 0xd61d76
jmp 0xd61d78
jmp 0xd621c9
call fcn.00d588e0
mov ebx, eax
and ebx, 0xf
xor ebx, 0x10
add ebx, 0
xor edi, edi
mov eax, dword [esi + 0x154]
mov ecx, dword [esi + 0x58]
cmp edi, ebx
jb 0xd61f7a
mov word [eax], 0
mov eax, dword [esi + 0x1d4]
mov al, byte [eax]
mov byte [esi + 0xcc], al
mov byte [ecx], 0xed
mov byte [ecx + 1], 0xc9
mov byte [ecx + 2], 0xba
mov byte [ecx + 3], 0xcf
mov byte [ecx + 4], 0x89
mov byte [ecx + 5], 0xcd
mov byte [ecx + 6], 0xbf
mov byte [ecx + 7], 0xc3
mov byte [ecx + 8], 0xb0
mov byte [ecx + 9], 0xc1
mov byte [ecx + 0xa], 0xe3
mov byte [ecx + 0xb], 0xc7
mov byte [ecx + 0xc], 0xa8
mov byte [ecx + 0xd], 0xc5
mov byte [ecx + 0xe], 0xfa
mov byte [ecx + 0xf], 0xfb
mov eax, 0x10
mov byte [ecx + eax], 0
add eax, 1
cmp eax, 0x13
jne 0xd61df7
xor edx, edx
cmp edx, 0x13
jae 0xd61e9e
movzx eax, byte [ecx + edx]
mov dword [esi + 0x120], eax
mov edi, edx
and edi, 0x31b600d0
mov ebx, edx
and ebx, 2
xor ebx, 2
mov dword [esi + 0x28], edx
mov edx, dword [esi + 0x28]
and edx, 0x31b600d0
imul edx, ebx
mov ebx, dword [esi + 0x28]
and ebx, 2
or edi, 2
imul edi, ebx
add edi, edx
mov edx, dword [esi + 0x28]
xor edx, 0x31b600d2
add edx, edi
mov edi, eax
shl edi, 1
or edi, 1
mov ebx, eax
xor ebx, 0xffffffff
mov eax, edi
add eax, ebx
shl eax, 1
mov ecx, dword [esi + 0x120]
sub ecx, edi
add ecx, eax
add ecx, 1
mov ebx, edx
and ebx, ecx
mov ecx, dword [esi + 0x58]
mov eax, dword [esi + 0x120]
mov edi, eax
shl edi, 1
xor edi, 0xffffffff
add edi, eax
xor edx, 0xffffffff
and edi, edx
mov edx, dword [esi + 0x28]
or ebx, edi
mov al, 0xe5
sub al, bl
mov byte [ecx + edx], al
add edx, 1
jmp 0xd61e05
sub esp, 8
mov edi, dword [esi + 0x150]
mov dword [esp], edi
mov dword [esp + 4], ecx
call fcn.00d59ee0
mov dword [esp], eax
mov eax, dword [esi + 0x154]
mov dword [esp + 4], eax
call fcn.00d59ee0
add esp, 8
sub eax, edi
sar eax, 1
xor ecx, ecx
sub esp, 0x18
mov dword [esp], 0
mov dword [esp + 4], edi
mov dword [esi + 0x16c], eax
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov edi, dword [esi + 0x14c]
mov dword [esp + 0x14], edi
call dword [0xfcd99640]
mov eax, dword [edi]
add eax, 4
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0xd61f21
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.00d581b0
add esp, 4
mov ebx, dword [0xfcd99640]
mov edi, dword [esi + 0x14c]
mov ecx, dword [edi]
xor edx, edx
sub esp, 0x18
mov dword [esp], 0
mov edx, dword [esi + 0x150]
mov dword [esp + 4], edx
mov edx, dword [esi + 0x16c]
mov dword [esp + 8], edx
mov dword [esi], eax
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], ecx
mov dword [esp + 0x14], edi
call ebx
mov eax, dword [esi + 0x3c]
cmp eax, 0
je 0xd61fb9
jmp 0xd6204b
mov dword [esi + 0x164], eax
call fcn.00d588e0
mov ecx, 0x24
cdq
idiv ecx
movsx ecx, byte [edx - 0x327046e]
mov edx, dword [esi + 0x164]
mov eax, edx
add eax, 2
mov word [edx], cx
mov ecx, edi
and ecx, 1
mov edx, edi
or edx, 1
mov edi, ecx
add edi, edx
mov ecx, dword [esi + 0x58]
jmp 0xd61d98
mov ecx, dword [esi + 0x54]
jmp 0xd61fbe
mov eax, dword [esi + 0x1d0]
mov al, byte [eax]
mov byte [esi + 0xd0], al
mov byte [ecx], 0x7a
mov byte [ecx + 1], 0x89
mov byte [ecx + 2], 0x2b
mov byte [ecx + 3], 0x8f
mov byte [ecx + 4], 4
mov byte [ecx + 5], 0x8d
mov byte [ecx + 6], 0x27
mov byte [ecx + 7], 0x83
mov byte [ecx + 8], 0x80
mov byte [ecx + 9], 0x81
mov eax, 0xa
mov byte [ecx + eax], 0
add eax, 1
cmp eax, 0xf
jne 0xd61ff8
xor eax, eax
cmp eax, 0xf
jae 0xd62030
movzx edx, byte [ecx + eax]
mov edi, eax
add edi, 0x62
mov ecx, eax
add ecx, 0x62
and ecx, edx
or edi, edx
xor ecx, edi
add cl, 0x16
mov edx, dword [esi + 0x54]
mov byte [edx + eax], cl
mov ecx, dword [esi + 0x54]
add eax, 1
jmp 0xd62006
sub esp, 8
mov eax, dword [esi]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00d637b0
add esp, 8
jmp 0xd62046
jmp 0xd621c9
cmp eax, 1
jne 0xd62105
mov ecx, dword [esi + 0x148]
mov eax, dword [esi + 0x1cc]
mov al, byte [eax]
mov byte [esi + 0xd4], al
mov byte [ecx], 0xfa
mov byte [ecx + 1], 0xc9
mov byte [ecx + 2], 0xba
mov byte [ecx + 3], 0xd7
mov byte [ecx + 4], 0xa0
mov byte [ecx + 5], 0xd5
mov byte [ecx + 6], 0xa6
mov byte [ecx + 7], 0xd3
mov byte [ecx + 8], 0xd0
mov byte [ecx + 9], 0xd1
mov eax, 0xa
mov byte [ecx + eax], 0
add eax, 1
cmp eax, 0xe
jne 0xd62094
xor eax, eax
cmp eax, 0xe
jae 0xd620ec
movzx edx, byte [ecx + eax]
mov ecx, eax
add ecx, 0xbf53fc4e
mov edi, 0xb1
sub edi, eax
mov ebx, 0xb1
sub ebx, eax
and edi, ebx
or ecx, edx
xor edx, 0xffffffff
or edi, edx
and ecx, edi
mov edx, ecx
shl edx, 1
and edx, 0xf2
xor ecx, 0x86
sub edx, ecx
mov ecx, dword [esi + 0x148]
mov byte [ecx + eax], dl
add eax, 1
jmp 0xd620a2
sub esp, 8
mov eax, dword [esi]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00d637b0
add esp, 8
jmp 0xd621c9
cmp eax, 2
jne 0xd621c9
mov eax, dword [esi + 0x1c8]
mov al, byte [eax]
mov byte [esi + 0xd8], al
mov ecx, dword [esi + 0x50]
mov byte [ecx], 0x6e
mov byte [ecx + 1], 0x3b
mov byte [ecx + 2], 0xaa
mov byte [ecx + 3], 0x39
mov byte [ecx + 4], 0xa5
mov byte [ecx + 5], 0x27
mov byte [ecx + 6], 0x79
mov byte [ecx + 7], 0x25
mov byte [ecx + 8], 0x24
mov byte [ecx + 9], 0x23
mov eax, 0xa
mov byte [ecx + eax], 0
add eax, 1
cmp eax, 0xf
jne 0xd6214b
jmp 0xd62159
xor eax, eax
jmp 0xd6215d
cmp eax, 0xf
jae 0xd621ae
mov ebx, dword [esi + 0x50]
movzx edx, byte [ebx + eax]
mov ecx, eax
add ecx, 0x633776d
mov edi, 0x79cc8892
sub edi, eax
and edi, 0x92b4c1e2
and ecx, 0x6d4b3e1d
sub ecx, edi
xor ecx, edx
mov edx, ecx
shl edx, 1
and edx, 0x90
mov edi, ecx
shl edi, 1
and edi, 0x90
add ecx, 0x48
sub ecx, edi
add ecx, edx
add cl, 1
mov byte [ebx + eax], cl
add eax, 1
jmp 0xd6215d
jmp 0xd621b0
mov eax, dword [esi + 0x50]
sub esp, 8
mov ecx, dword [esi]
mov dword [esp], ecx
mov dword [esp + 4], eax
call fcn.00d637b0
add esp, 8
jmp 0xd621c9
xor eax, eax
sub esp, 0x1c
mov eax, dword [esi]
mov dword [esp], eax
mov eax, dword [esi + 0x144]
mov dword [esp + 4], eax
mov dword [esp + 8], 0x100002
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 5
mov dword [esp + 0x14], 0x60
mov dword [esp + 0x18], 0x80
call fcn.00d8c4b0
add esp, 0x1c
mov ebx, eax
cmp ebx, 0
jl 0xd62352
mov eax, dword [esi + 0x5c]
mov eax, dword [eax]
mov ecx, dword [esi + 0x14]
mov ecx, dword [ecx]
mov ebx, dword [esi + 0x144]
mov edx, dword [ebx]
xor edi, edi
sub esp, 0x10
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.00d8cb50
add esp, 0x10
mov dword [esi + 0x198], eax
mov eax, dword [ebx]
mov dword [esi + 0x194], eax
mov al, byte [esi + 0xa4]
mov byte [esi + 0x104], al
mov byte [esi + 0xa8], 0x1b
mov byte [esi + 0xa9], 0x1a
mov byte [esi + 0xaa], 0x1d
mov byte [esi + 0xab], 0x1c
mov eax, 4
mov byte [esi + eax + 0xa8], 0
add eax, 1
cmp eax, 5
jne 0xd62285
xor eax, eax
cmp eax, 5
jae 0xd622cb
mov dl, byte [esi + eax + 0xa8]
mov ecx, eax
add ecx, 0xb
mov edi, 0x74
sub edi, eax
and edi, 0x91
and ecx, 0x6e
sub ecx, edi
xor cl, dl
add cl, 0x1e
mov byte [esi + eax + 0xa8], cl
add eax, 1
jmp 0xd62297
mov ecx, dword [esi + 0xa8]
xor edi, edi
cmp edi, dword [0xfcd99644]
jb 0xd622dd
jmp 0xd6234c
mov eax, dword [0xfcd99648]
cmp dword [eax + edi*8], 0xb62b8d10
sete dl
test dl, 1
jne 0xd622f3
jmp 0xd62337
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0xd62337
mov dword [esi + 0x184], ecx
mov ecx, dword [0xfcd9964c]
sub esp, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov eax, dword [esi + 0x194]
mov dword [esp + 0xc], eax
mov byte [esi + 0x1b], dl
call fcn.00d88a80
mov dl, byte [esi + 0x1b]
mov ecx, dword [esi + 0x184]
add esp, 0x10
test dl, 1
je 0xd6233e
jmp 0xd6234c
mov eax, edi
xor eax, 1
shl edi, 1
and edi, 2
add edi, eax
jmp 0xd622d3
mov ebx, dword [esi + 0x198]
mov edi, dword [esi + 0x14]
mov eax, dword [edi]
sub esp, 4
mov dword [esp], eax
call fcn.00d85570
add esp, 4
mov dword [edi], 0
cmp ebx, 0
setge al
test al, 1
mov edi, dword [esi + 4]
mov ebx, dword [esi + 0x10]
mov ecx, dword [esi + 0x3c]
jne 0xd62391
jmp 0xd62380
mov dword [esi + 8], 0
mov eax, 4
jmp 0xd629f4
cmp ecx, 1
sete al
test al, 1
jne 0xd623a0
jmp 0xd62709
mov eax, dword [esi + 0x1c4]
mov al, byte [eax]
mov byte [esi + 0xdc], al
mov edi, dword [esi + 0x140]
mov byte [edi], 0x52
mov byte [edi + 1], 0x5b
mov byte [edi + 2], 0xce
mov eax, 3
mov byte [edi + eax], 0
add eax, 1
cmp eax, 4
jne 0xd623c4
xor eax, eax
cmp eax, 4
jae 0xd62424
movzx edx, byte [edi + eax]
mov edi, eax
shl edi, 1
and edi, 0x78ebaca4
mov ecx, eax
xor ecx, 0x3c75d652
add ecx, edi
xor ecx, edx
add ecx, 0xd1b2d065
mov edx, ecx
and edx, 1
mov edi, ecx
and edi, 0xfffffffe
mov ebx, ecx
xor ebx, 1
add ecx, ebx
mov ebx, dword [esi + 0x140]
sub ecx, edi
mov edi, edx
and edi, ecx
shl edi, 1
xor edx, ecx
add edx, edi
mov edi, ebx
mov byte [edi + eax], dl
add eax, 1
jmp 0xd623d2
sub esp, 8
mov eax, dword [esi + 0xc]
mov dword [esp], eax
mov dword [esp + 4], edi
call fcn.00d51870
add esp, 8
mov ebx, eax
mov eax, dword [esi + 0x1c0]
mov al, byte [eax]
mov byte [esi + 0xe0], al
mov ecx, dword [esi + 0x13c]
mov byte [ecx], 0x29
mov byte [ecx + 1], 0x3f
mov byte [ecx + 2], 0x8e
mov eax, 3
mov byte [ecx + eax], 0
add eax, 1
cmp eax, 5
jne 0xd6245f
xor eax, eax
cmp eax, 5
jae 0xd624b5
movzx edx, byte [ecx + eax]
mov ecx, eax
add ecx, 0x62
and ecx, edx
xor edx, 0xffffffff
mov edi, 0xfec2979d
sub edi, eax
and edi, edx
or ecx, edi
mov edi, ecx
and edi, 1
add ecx, 0xeb
and ecx, 0xfe
mov edx, edi
shl edx, 1
or ecx, edi
xor ecx, 0xffffffff
add edx, ecx
mov ecx, dword [esi + 0x13c]
mov byte [ecx + eax], dl
add eax, 1
jmp 0xd6246d
sub esp, 8
mov eax, dword [esi + 0xc]
mov dword [esp], eax
mov dword [esp + 4], ecx
call fcn.00d51870
add esp, 8
mov dword [esi + 0x38], eax
sub esp, 4
mov eax, dword [esi]
mov dword [esp], eax
call fcn.00d63800
add esp, 4
mov edi, eax
cmp ebx, 0
setne al
mov dword [esi + 0x34], 0
mov byte [esi + 0x1e], al
test al, 1
jne 0xd624f5
jmp 0xd62512
sub esp, 4
mov dword [esp], ebx
call fcn.00d582d0
add esp, 4
mov ecx, eax
and ecx, 1
or eax, 1
add ecx, eax
mov dword [esi + 0x34], ecx
jmp 0xd62512
cmp dword [esi + 0x38], 0
setne cl
xor eax, eax
mov byte [esi + 0x1d], cl
test cl, 1
jne 0xd62525
jmp 0xd62539
sub esp, 4
mov eax, dword [esi + 0x38]
mov dword [esp], eax
call fcn.00d582d0
add esp, 4
sub eax, 0xffffffff
mov dword [esi + 0x1a4], ebx
add edi, 9
add edi, dword [esi + 0x34]
mov ecx, edi
and ecx, eax
mov dword [esi + 0x1a0], eax
or edi, eax
add edi, ecx
sub edi, 0xffffffff
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0xd6256e
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.00d581b0
add esp, 4
mov ebx, eax
mov eax, dword [esi + 0x1bc]
mov al, byte [eax]
mov byte [esi + 0xe4], al
mov ecx, dword [esi + 0x4c]
mov byte [ecx], 0xa2
mov byte [ecx + 1], 0x31
mov byte [ecx + 2], 0xbf
mov byte [ecx + 3], 0x33
mov byte [ecx + 4], 0xba
mov byte [ecx + 5], 0x2d
mov byte [ecx + 6], 0xb2
mov byte [ecx + 7], 0x2f
mov byte [ecx + 8], 0xbc
mov byte [ecx + 9], 0x29
mov byte [ecx + 0xa], 0xbe
mov byte [ecx + 0xb], 0x2b
mov byte [ecx + 0xc], 0x77
mov byte [ecx + 0xd], 0x25
mov byte [ecx + 0xe], 0x74
mov byte [ecx + 0xf], 0x27
mov byte [ecx + 0x10], 0x20
mov byte [ecx + 0x11], 0x21
mov eax, 0x12
mov byte [ecx + eax], 0
add eax, 1
cmp eax, 0x17
jne 0xd625db
xor eax, eax
cmp eax, 0x17
jae 0xd6261b
movzx edx, byte [ecx + eax]
mov ecx, eax
add ecx, 0x8c
mov edi, 0x73
sub edi, eax
and edi, edx
xor edx, 0xffffffff
and ecx, edx
or ecx, edi
add cl, 0x44
mov edx, dword [esi + 0x4c]
mov byte [edx + eax], cl
mov ecx, dword [esi + 0x4c]
add eax, 1
jmp 0xd625e9
sub esp, 8
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.00d59ee0
add esp, 8
mov ecx, eax
add ecx, 2
mov word [eax], 0x20
add ecx, 2
mov word [eax + 2], 0x22
sub esp, 8
mov dword [esp], ecx
mov eax, dword [esi]
mov dword [esp + 4], eax
call fcn.00d59ee0
add esp, 8
mov edi, eax
add edi, 2
mov word [eax], 0x22
jmp 0xd62660
mov dword [esi + 8], ebx
sub esp, 4
mov eax, dword [esi]
mov dword [esp], eax
call fcn.00d581c0
add esp, 4
mov ebx, dword [esi + 0x10]
jmp 0xd62678
test byte [esi + 0x1e], 1
jne 0xd62680
jmp 0xd626bc
mov ebx, edi
add ebx, 2
mov word [edi], 0x2c
xor eax, eax
sub esp, 0x10
mov dword [esp], ebx
mov eax, dword [esi + 0x34]
mov dword [esp + 4], eax
mov eax, dword [esi + 0x1a4]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.00d5ae30
add esp, 0x10
shl eax, 1
add ebx, eax
mov edi, ebx
mov ebx, dword [esi + 0x10]
test byte [esi + 0x1d], 1
jne 0xd626c4
jmp 0xd626f9
mov eax, edi
add eax, 2
mov word [edi], 0x2c
xor ecx, ecx
sub esp, 0x10
mov dword [esp], eax
mov eax, dword [esi + 0x1a0]
mov dword [esp + 4], eax
mov eax, dword [esi + 0x38]
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.00d5ae30
add esp, 0x10
jmp 0xd626f9
mov dword [esi], 0
xor ecx, ecx
mov edi, dword [esi + 4]
jmp 0xd629f2
mov dword [esi + 8], 0
cmp ecx, 2
je 0xd6271a
jmp 0xd629f2
sub esp, 4
mov eax, dword [esi]
mov dword [esp], eax
call fcn.00d63800
add esp, 4
add eax, 0x895a675e
sub eax, 0x895a6741
mov ecx, eax
and ecx, 1
or eax, 1
add eax, ecx
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0xd62754
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.00d581b0
add esp, 4
mov edx, eax
mov eax, dword [esi + 0x1b8]
mov al, byte [eax]
mov byte [esi + 0xe8], al
mov ecx, dword [esi + 0x48]
mov byte [ecx], 0xe6
mov byte [ecx + 1], 0x87
mov byte [ecx + 2], 0x86
mov byte [ecx + 3], 0x81
mov eax, 4
mov byte [ecx + eax], 0
add eax, 1
cmp eax, 8
jne 0xd62789
mov dword [esi + 8], edx
xor eax, eax
cmp eax, 8
jae 0xd6280a
movzx ebx, byte [ecx + eax]
mov dword [esi + 0x11c], ebx
mov edx, eax
add edx, 0x21
mov ecx, 0xde
sub ecx, eax
mov edi, 0xde
sub edi, eax
and ecx, edi
or ecx, ebx
mov edi, 0x5e
sub edi, eax
and edi, 0x48
and edx, 0xb7
or edi, edx
xor edi, 0xb7
mov edx, ebx
add edx, 1
mov ebx, dword [esi + 0x11c]
xor ebx, 0xffffffff
or edi, ebx
mov ebx, edi
add ebx, edx
shl ebx, 1
add edi, dword [esi + 0x11c]
sub edi, ebx
and ecx, edi
mov edi, dword [esi + 4]
mov dl, 0x5a
sub dl, cl
mov ecx, dword [esi + 0x48]
mov byte [ecx + eax], dl
add eax, 1
jmp 0xd6279a
mov eax, dword [esi + 0x1b4]
mov al, byte [eax]
mov byte [esi + 0xec], al
mov ecx, dword [esi + 0x44]
mov byte [ecx], 0xf0
mov byte [ecx + 1], 0x61
mov byte [ecx + 2], 0xfd
mov byte [ecx + 3], 0x63
mov byte [ecx + 4], 0xf3
mov byte [ecx + 5], 0x65
mov byte [ecx + 6], 0xc3
mov byte [ecx + 7], 0x67
mov byte [ecx + 8], 0xca
mov byte [ecx + 9], 0x59
mov byte [ecx + 0xa], 0xc9
mov byte [ecx + 0xb], 0x5b
mov byte [ecx + 0xc], 0xc4
mov byte [ecx + 0xd], 0x5d
mov byte [ecx + 0xe], 0xfb
mov byte [ecx + 0xf], 0x5f
mov byte [ecx + 0x10], 0xcc
mov byte [ecx + 0x11], 0x51
mov byte [ecx + 0x12], 0xce
mov byte [ecx + 0x13], 0x53
mov byte [ecx + 0x14], 0xb4
mov byte [ecx + 0x15], 0x55
mov byte [ecx + 0x16], 0x8b
mov byte [ecx + 0x17], 0x57
mov byte [ecx + 0x18], 0xed
mov byte [ecx + 0x19], 0x49
mov byte [ecx + 0x1a], 0xc2
mov byte [ecx + 0x1b], 0x4b
mov byte [ecx + 0x1c], 0xe9
mov byte [ecx + 0x1d], 0x4d
mov byte [ecx + 0x1e], 0xed
mov byte [ecx + 0x1f], 0x4f
mov byte [ecx + 0x20], 0xa0
mov byte [ecx + 0x21], 0x41
mov byte [ecx + 0x22], 0xe0
mov byte [ecx + 0x23], 0x43
mov byte [ecx + 0x24], 0xcd
mov byte [ecx + 0x25], 0x45
mov byte [ecx + 0x26], 0xd6
mov byte [ecx + 0x27], 0x47
mov byte [ecx + 0x28], 0x99
mov byte [ecx + 0x29], 0x39
mov byte [ecx + 0x2a], 0xa9
mov byte [ecx + 0x2b], 0x3b
mov byte [ecx + 0x2c], 0xaf
mov byte [ecx + 0x2d], 0x3d
mov byte [ecx + 0x2e], 0xde
mov byte [ecx + 0x2f], 0x3f
mov byte [ecx + 0x30], 0xed
mov byte [ecx + 0x31], 0x31
mov byte [ecx + 0x32], 0x94
mov byte [ecx + 0x33], 0x33
mov byte [ecx + 0x34], 0xd4
mov byte [ecx + 0x35], 0x35
mov byte [ecx + 0x36], 0xd4
mov byte [ecx + 0x37], 0x37
mov byte [ecx + 0x38], 0x28
mov byte [ecx + 0x39], 0x29
mov eax, 0x3a
mov byte [ecx + eax], 0
add eax, 1
cmp eax, 0x3f
jne 0xd62907
xor eax, eax
mov ebx, dword [esi + 8]
cmp eax, 0x3f
jae 0xd629bb
movzx edx, byte [ecx + eax]
mov ecx, eax
add ecx, 0x2e3db318
mov edi, ecx
and edi, edx
mov dword [esi + 0x20], eax
mov eax, edi
and eax, 2
xor eax, 2
mov ebx, edi
and ebx, 0xfd
imul ebx, eax
mov eax, edi
and eax, 2
or edi, 2
imul edi, eax
add edi, ebx
mov ebx, dword [esi + 8]
mov eax, edi
xor eax, 0xffffffff
and ecx, eax
mov eax, 0xd1c24ce7
sub eax, dword [esi + 0x20]
and edi, eax
sub ecx, edi
mov edi, dword [esi + 4]
add ecx, edx
mov eax, ecx
add eax, 1
mov edx, ecx
xor edx, 0xffffffff
or edx, 0x87
add edx, eax
mov eax, ecx
and eax, 0x87
xor eax, 0xffffffff
add ecx, 0x88
add ecx, eax
add ecx, edx
add cl, 1
mov eax, dword [esi + 0x44]
mov edx, dword [esi + 0x20]
mov byte [eax + edx], cl
mov ecx, dword [esi + 0x44]
mov eax, dword [esi + 0x20]
shl eax, 1
and eax, 2
xor dword [esi + 0x20], 1
add dword [esi + 0x20], eax
mov eax, dword [esi + 0x20]
jmp 0xd62918
sub esp, 8
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.00d59ee0
mov dword [esp], eax
mov eax, dword [esi]
mov dword [esp + 4], eax
call fcn.00d59ee0
mov dword [esp], eax
mov eax, dword [esi + 0x48]
mov dword [esp + 4], eax
call fcn.00d59ee0
add esp, 8
mov ecx, 2
mov ebx, dword [esi + 0x10]
xor eax, eax
cmp eax, 0
je 0xd62c4b
jmp 0xd63368
xor edi, 1
mov eax, ecx
xor eax, 2
or edi, eax
sete al
mov dword [esi + 8], 0
test al, 1
mov dword [esi], 0
mov edi, dword [esi + 4]
jne 0xd62a28
jmp 0xd62c4b
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.00d633a0
add esp, 4
mov edi, eax
add edi, 1
mov ecx, 2
mov eax, edi
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0xd62a58
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.00d581b0
add esp, 4
mov edx, eax
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
xor ecx, ecx
sub esp, 0x10
mov dword [esi + 0x12c], edx
mov dword [esp], edx
mov dword [esp + 4], edi
mov dword [esp + 8], eax
mov dword [esp + 0xc], 0
call fcn.00d5ae30
add esp, 0x10
mov eax, dword [esi + 0x5c]
mov eax, dword [eax]
mov ecx, eax
and ecx, 0x18
shl ecx, 1
xor eax, 0x18
add eax, ecx
sub eax, 0x4dfafb22
add eax, 1
add eax, 0x4dfafb22
mov ecx, 2
mul ecx
seto dl
mov ecx, 0xffffffff
test dl, 1
jne 0xd62ac7
mov ecx, eax
sub esp, 4
mov dword [esp], ecx
call fcn.00d581b0
add esp, 4
mov ebx, eax
mov eax, dword [esi + 0x1b0]
mov al, byte [eax]
mov byte [esi + 0xf0], al
mov ecx, dword [esi + 0x138]
mov byte [ecx], 0x90
mov byte [ecx + 1], 0x21
mov byte [ecx + 2], 0x9d
mov byte [ecx + 3], 0x23
mov byte [ecx + 4], 0x93
mov byte [ecx + 5], 0x25
mov byte [ecx + 6], 0x83
mov byte [ecx + 7], 0x27
mov byte [ecx + 8], 0x8a
mov byte [ecx + 9], 0x39
mov byte [ecx + 0xa], 0x89
mov byte [ecx + 0xb], 0x3b
mov byte [ecx + 0xc], 0x84
mov byte [ecx + 0xd], 0x3d
mov byte [ecx + 0xe], 0x9b
mov byte [ecx + 0xf], 0x3f
mov byte [ecx + 0x10], 0x8c
mov byte [ecx + 0x11], 0x31
mov byte [ecx + 0x12], 0x8e
mov byte [ecx + 0x13], 0x33
mov byte [ecx + 0x14], 0x54
mov byte [ecx + 0x15], 0x35
mov byte [ecx + 0x16], 0x4b
mov byte [ecx + 0x17], 0x37
mov byte [ecx + 0x18], 0xad
mov byte [ecx + 0x19], 9
mov byte [ecx + 0x1a], 0x82
mov byte [ecx + 0x1b], 0xb
mov byte [ecx + 0x1c], 0xa9
mov byte [ecx + 0x1d], 0xd
mov byte [ecx + 0x1e], 0xad
mov byte [ecx + 0x1f], 0xf
mov byte [ecx + 0x20], 0x60
mov byte [ecx + 0x21], 1
mov byte [ecx + 0x22], 0xa0
mov byte [ecx + 0x23], 3
mov byte [ecx + 0x24], 0x8d
mov byte [ecx + 0x25], 5
mov byte [ecx + 0x26], 0xb6
mov byte [ecx + 0x27], 7
mov byte [ecx + 0x28], 0xb9
mov byte [ecx + 0x29], 0x19
mov byte [ecx + 0x2a], 0xa9
mov byte [ecx + 0x2b], 0x1b
mov byte [ecx + 0x2c], 0xaf
mov byte [ecx + 0x2d], 0x1d
mov byte [ecx + 0x2e], 0x7e
mov byte [ecx + 0x2f], 0x1f
mov byte [ecx + 0x30], 0x10
mov byte [ecx + 0x31], 0x11
mov eax, 0x32
mov edi, dword [esi + 4]
mov byte [ecx + eax], 0
add eax, 1
cmp eax, 0x35
jne 0xd62bba
xor eax, eax
cmp eax, 0x35
jae 0xd62c01
mov dl, byte [ecx + eax]
mov ecx, eax
add ecx, 8
mov edi, 0xf7
sub edi, eax
and edi, 0x91
and ecx, 0x6e
or ecx, edi
mov edi, dword [esi + 4]
xor cl, dl
xor cl, 0x6e
mov dl, 0xd7
sub dl, cl
mov ecx, dword [esi + 0x138]
mov byte [ecx + eax], dl
add eax, 1
jmp 0xd62bc8
sub esp, 8
mov dword [esp], ebx
mov dword [esp + 4], ecx
call fcn.00d59ee0
mov dword [esp], eax
mov eax, dword [esi + 0x12c]
mov dword [esp + 4], eax
call fcn.00d59ee0
add esp, 8
mov dword [esi + 8], ebx
sub esp, 4
mov eax, dword [esi + 0x12c]
mov dword [esp], eax
call fcn.00d581c0
add esp, 4
jmp 0xd62c3e
mov dword [esi], 0
mov ecx, 2
jmp 0xd62c4b
test ecx, ecx
je 0xd62c6f
jmp 0xd62c51
mov eax, ecx
sub eax, 1
je 0xd62e17
jmp 0xd62c5e
sub ecx, 2
mov ebx, dword [esi + 8]
je 0xd630a2
jmp 0xd63326
test byte [esi + 0x1f], 1
jne 0xd62c7a
jmp 0xd62e17
xor eax, eax
mov ecx, 0x11
mov edx, dword [esi + 0x1ac]
mov edi, edx
rep stosd dword es:[edi], eax
mov dword [edx], 0x44
mov edi, edx
mov eax, dword [0xfcd99638]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x38c42730
call fcn.00d8bcb0
add esp, 8
test eax, eax
setne cl
xor ecx, ecx
sub esp, 0x28
mov ecx, dword [esi]
mov dword [esp], ecx
mov ebx, dword [esi + 8]
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], edi
mov ecx, dword [esi + 0x134]
mov dword [esp + 0x24], ecx
call eax
cmp eax, 0
je 0xd62e0f
mov eax, dword [esi + 0x134]
mov eax, dword [eax]
mov dword [esi + 0x188], eax
mov al, byte [esi + 0x98]
mov byte [esi + 0x108], al
mov byte [esi + 0x9c], 0x1b
mov byte [esi + 0x9d], 0x1a
mov byte [esi + 0x9e], 0x1d
mov byte [esi + 0x9f], 0x1c
mov eax, 4
mov byte [esi + eax + 0x9c], 0
add eax, 1
cmp eax, 5
jne 0xd62d48
xor eax, eax
cmp eax, 5
jae 0xd62d8e
mov dl, byte [esi + eax + 0x9c]
mov ecx, eax
add ecx, 0xb
mov edi, 0x74
sub edi, eax
and edi, 0x91
and ecx, 0x6e
sub ecx, edi
xor cl, dl
add cl, 0x1e
mov byte [esi + eax + 0x9c], cl
add eax, 1
jmp 0xd62d5a
mov ecx, dword [esi + 0x9c]
xor edi, edi
cmp edi, dword [0xfcd99644]
jb 0xd62da0
jmp 0xd62e0f
mov eax, dword [0xfcd99648]
cmp dword [eax + edi*8], 0xb62b8d10
sete dl
test dl, 1
jne 0xd62db6
jmp 0xd62dfa
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0xd62dfa
mov dword [esi + 0x174], ecx
mov ecx, dword [0xfcd9964c]
sub esp, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov eax, dword [esi + 0x188]
mov dword [esp + 0xc], eax
mov byte [esi + 0x18], dl
call fcn.00d88a80
mov dl, byte [esi + 0x18]
mov ecx, dword [esi + 0x174]
add esp, 0x10
test dl, 1
je 0xd62e01
jmp 0xd62e0f
mov eax, edi
xor eax, 1
shl edi, 1
and edi, 2
add edi, eax
jmp 0xd62d96
mov edi, dword [esi + 4]
jmp 0xd63326
mov eax, dword [0xfcd99638]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0xe117db1e
call fcn.00d8bcb0
add esp, 8
cmp eax, 0
setne cl
test cl, 1
mov ebx, dword [esi + 8]
jne 0xd62e40
test cl, 1
jne 0xd62e47
xor eax, eax
mov ecx, dword [esi + 0x14]
mov ecx, dword [ecx]
xor edx, edx
lea edx, [0xfcd6d700]
sub esp, 0x18
mov dword [esp], 0
mov dword [esp + 4], 0
mov dword [esp + 8], edx
mov dword [esp + 0xc], ecx
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0
call eax
mov dword [esi + 0x30], eax
cmp dword [esi + 0x30], 0
setne cl
jmp 0xd62e8c
jmp 0xd62e8e
test cl, 1
jne 0xd62e98
jmp 0xd6309d
mov ecx, dword [esi + 0x130]
mov dword [ecx + 4], 0xffffffff
mov dword [ecx], 0xdc3cba00
mov cl, byte [esi + 0xf4]
mov byte [esi + 0x100], cl
mov byte [esi + 0xf8], 0x1b
mov byte [esi + 0xf9], 0x1a
mov byte [esi + 0xfa], 0x1d
mov byte [esi + 0xfb], 0x1c
mov ecx, 4
mov byte [esi + ecx + 0xf8], 0
add ecx, 1
cmp ecx, 5
jne 0xd62ed8
xor ecx, ecx
cmp ecx, 5
jae 0xd62f1e
mov bl, byte [esi + ecx + 0xf8]
mov edx, ecx
add edx, 0xb
mov edi, 0x74
sub edi, ecx
and edi, 0x91
and edx, 0x6e
sub edx, edi
xor dl, bl
add dl, 0x1e
mov byte [esi + ecx + 0xf8], dl
add ecx, 1
jmp 0xd62eea
mov eax, dword [esi + 0xf8]
xor edi, edi
cmp edi, dword [0xfcd99644]
jb 0xd62f30
jmp 0xd62fa6
mov ecx, dword [0xfcd99648]
cmp dword [ecx + edi*8], 0x4e66b5a3
sete bl
mov byte [esi + 0x1c], bl
test bl, 1
jne 0xd62f4a
jmp 0xd62f99
mov ecx, dword [ecx + edi*8 + 4]
cmp ecx, eax
je 0xd62f99
mov edx, dword [0xfcd9964c]
mov dword [esi + 0x170], eax
xor ebx, ebx
sub esp, 0x18
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 3
mov eax, dword [esi + 0x30]
mov dword [esp + 0xc], eax
mov dword [esp + 0x10], 0
mov ecx, dword [esi + 0x130]
mov dword [esp + 0x14], ecx
call fcn.00d88a80
add esp, 0x18
mov eax, dword [esi + 0x170]
test byte [esi + 0x1c], 1
je 0xd62fa1
jmp 0xd62fa6
add edi, 1
jmp 0xd62f26
mov cl, byte [esi + 0x8c]
mov byte [esi + 0x10c], cl
mov byte [esi + 0x90], 0x1b
mov byte [esi + 0x91], 0x1a
mov byte [esi + 0x92], 0x1d
mov byte [esi + 0x93], 0x1c
mov ecx, 4
mov byte [esi + ecx + 0x90], 0
add ecx, 1
cmp ecx, 5
jne 0xd62fd3
xor ecx, ecx
cmp ecx, 5
jae 0xd63019
mov bl, byte [esi + ecx + 0x90]
mov edx, ecx
add edx, 0xb
mov edi, 0x74
sub edi, ecx
and edi, 0x91
and edx, 0x6e
sub edx, edi
xor dl, bl
add dl, 0x1e
mov byte [esi + ecx + 0x90], dl
add ecx, 1
jmp 0xd62fe5
mov edx, dword [esi + 0x90]
xor edi, edi
mov ebx, dword [esi + 8]
cmp edi, dword [0xfcd99644]
jb 0xd6302e
jmp 0xd6309a
mov ecx, dword [0xfcd99648]
cmp dword [ecx + edi*8], 0xb62b8d10
sete al
test al, 1
jne 0xd63044
jmp 0xd63086
mov ecx, dword [ecx + edi*8 + 4]
cmp ecx, edx
je 0xd63086
mov dword [esi + 0x178], edx
mov edx, dword [0xfcd9964c]
sub esp, 0x10
mov dword [esp], edx
mov dword [esp + 4], ecx
mov dword [esp + 8], 1
mov bl, al
mov eax, dword [esi + 0x30]
mov dword [esp + 0xc], eax
call fcn.00d88a80
mov edx, dword [esi + 0x178]
add esp, 0x10
mov al, bl
mov ebx, dword [esi + 8]
test al, 1
je 0xd6308c
jmp 0xd6309a
mov ecx, edi
xor ecx, 1
shl edi, 1
and edi, 2
add edi, ecx
jmp 0xd63024
mov edi, dword [esi + 4]
jmp 0xd63326
call fcn.00d63830
xor eax, eax
mov ecx, 0x11
mov edx, dword [esi + 0x1a8]
mov edi, edx
rep stosd dword es:[edi], eax
mov dword [edx], 0x44
mov edi, edx
mov eax, dword [0xfcd99638]
sub esp, 8
mov dword [esp], eax
mov dword [esp + 4], 0x38c42730
call fcn.00d8bcb0
add esp, 8
test eax, eax
setne cl
xor ecx, ecx
sub esp, 0x28
mov dword [esp], 0
mov dword [esp + 4], ebx
mov dword [esp + 8], 0
mov dword [esp + 0xc], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x14], 0x8000000
mov dword [esp + 0x18], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x20], edi
mov ecx, dword [esi + 0x40]
mov dword [esp + 0x24], ecx
call eax
cmp eax, 0
setne al
test al, 1
mov edi, dword [esi + 4]
jne 0xd6313f
jmp 0xd63326
mov eax, dword [esi + 0x40]
mov eax, dword [eax + 4]
mov dword [esi + 0x190], eax
mov al, byte [esi + 0x80]
mov byte [esi + 0x110], al
mov byte [esi + 0x84], 0x1b
mov byte [esi + 0x85], 0x1a
mov byte [esi + 0x86], 0x1d
mov byte [esi + 0x87], 0x1c
mov eax, 4
mov byte [esi + eax + 0x84], 0
add eax, 1
cmp eax, 5
jne 0xd63178
xor eax, eax
cmp eax, 5
jae 0xd631be
mov dl, byte [esi + eax + 0x84]
mov ecx, eax
add ecx, 0xb
mov edi, 0x74
sub edi, eax
and edi, 0x91
and ecx, 0x6e
sub ecx, edi
xor cl, dl
add cl, 0x1e
mov byte [esi + eax + 0x84], cl
add eax, 1
jmp 0xd6318a
mov ecx, dword [esi + 0x84]
xor edi, edi
cmp edi, dword [0xfcd99644]
jb 0xd631d0
jmp 0xd6323f
mov eax, dword [0xfcd99648]
cmp dword [eax + edi*8], 0xb62b8d10
sete dl
test dl, 1
jne 0xd631e6
jmp 0xd6322a
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0xd6322a
mov dword [esi + 0x180], ecx
mov ecx, dword [0xfcd9964c]
sub esp, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov eax, dword [esi + 0x190]
mov dword [esp + 0xc], eax
mov byte [esi + 0x1a], dl
call fcn.00d88a80
mov dl, byte [esi + 0x1a]
mov ecx, dword [esi + 0x180]
add esp, 0x10
test dl, 1
je 0xd63231
jmp 0xd6323f
mov eax, edi
xor eax, 1
shl edi, 1
and edi, 2
add edi, eax
jmp 0xd631c6
mov eax, dword [esi + 0x40]
mov eax, dword [eax]
mov dword [esi + 0x18c], eax
mov al, byte [esi + 0x74]
mov byte [esi + 0x114], al
mov byte [esi + 0x78], 0x1b
mov byte [esi + 0x79], 0x1a
mov byte [esi + 0x7a], 0x1d
mov byte [esi + 0x7b], 0x1c
mov eax, 4
mov byte [esi + eax + 0x78], 0
add eax, 1
cmp eax, 5
jne 0xd63268
xor eax, eax
cmp eax, 5
jae 0xd632a5
mov dl, byte [esi + eax + 0x78]
mov ecx, eax
add ecx, 0xb
mov edi, 0x74
sub edi, eax
and edi, 0x91
and ecx, 0x6e
sub ecx, edi
xor cl, dl
add cl, 0x1e
mov byte [esi + eax + 0x78], cl
add eax, 1
jmp 0xd63277
mov ecx, dword [esi + 0x78]
xor edi, edi
cmp edi, dword [0xfcd99644]
jb 0xd632b4
jmp 0xd63323
mov eax, dword [0xfcd99648]
cmp dword [eax + edi*8], 0xb62b8d10
sete dl
test dl, 1
jne 0xd632ca
jmp 0xd6330e
mov eax, dword [eax + edi*8 + 4]
cmp eax, ecx
je 0xd6330e
mov dword [esi + 0x17c], ecx
mov ecx, dword [0xfcd9964c]
sub esp, 0x10
mov dword [esp], ecx
mov dword [esp + 4], eax
mov dword [esp + 8], 1
mov eax, dword [esi + 0x18c]
mov dword [esp + 0xc], eax
mov byte [esi + 0x19], dl
call fcn.00d88a80
mov dl, byte [esi + 0x19]
mov ecx, dword [esi + 0x17c]
add esp, 0x10
test dl, 1
je 0xd63315
jmp 0xd63323
mov eax, edi
xor eax, 1
shl edi, 1
and edi, 2
add edi, eax
jmp 0xd632aa
mov edi, dword [esi + 4]
mov eax, dword [esi + 0x14]
mov eax, dword [eax]
sub esp, 4
mov dword [esp], eax
call fcn.00d85570
add esp, 4
cmp dword [esi], 0
je 0xd63350
sub esp, 4
mov eax, dword [esi]
mov dword [esp], eax
call fcn.00d581c0
add esp, 4
jmp 0xd63350
cmp ebx, 0
je 0xd63363
sub esp, 4
mov dword [esp], ebx
call fcn.00d581c0
add esp, 4
mov ebx, dword [esi + 0x10]
jmp 0xd63368
jmp 0xd6336a
jmp 0xd6336c
jmp 0xd6336e
jmp 0xd63370
mov ecx, dword [esi + 0x2c]
mov eax, ecx
and eax, 1
or ecx, 1
add ecx, eax
mov dword [esi + 0x2c], ecx
jmp 0xd616e7
and al, 1
movzx eax, al
lea esp, [ebp - 0xc]
pop esi
pop edi
pop ebx
pop ebp
ret