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

Disassembly:
push ebp
mov ebp, esp
add esp, 0xfffffed4
xor eax, eax
xor edx, edx
xor ecx, ecx
push ebx
push esi
push edi
mov dword [ebp - 0x10], eax
mov dword [ebp - 0x24], edx
mov dword [ebp - 0x28], ecx
mov byte [ebp - 0x29], 0
mov byte [ebp - 0x2a], 0
mov byte [ebp - 0x2b], 0
mov byte [ebp - 0x2c], 0
xor eax, eax
xor edx, edx
mov dword [ebp - 0x34], eax
xor eax, eax
mov esi, dword [ebp + 0x10]
lea ebx, [ebp - 0x12c]
add esi, dword [ebp + 0x18]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x40], edx
lea ecx, [esi - 1]
mov dword [ebp - 0x44], ecx
mov ecx, dword [ebp + 8]
mov dword [ebp - 0x4c], ecx
cmp dword [ebp - 0x4c], 0
jne 0x3dea2ad
cmp dword [ebp + 0xc], 0
jne 0x3dea2ad
cmp dword [ebp + 0x10], 0
jne 0x3dea2ad
cmp dword [ebp + 0x14], 0xfffffc19
jne 0x3dea2ad
cmp dword [ebp + 0x18], 0xfffffc19
jne 0x3dea2ad
push 0
push 0
push 0
push 0
push 0
push 0
push 0
call fcn.03dd9648
add esp, 0x1c
jmp 0x3deb012
test dword [ebp + 0x1c], 0xe20f5a6f
je 0x3dea2c0
mov eax, 0xfffffffd
jmp 0x3deb012
cmp dword [ebp - 0x4c], 0
je 0x3dea2d8
cmp dword [ebp + 0x10], 0
je 0x3dea2d8
cmp dword [ebp + 0x20], 0
jne 0x3dea2e2
cmp dword [ebp + 0x24], 0
jle 0x3dea2e2
mov eax, 0xfffffffe
jmp 0x3deb012
cmp dword [ebp + 0x24], 0
jge 0x3dea2f2
mov eax, 0xfffffff1
jmp 0x3deb012
cmp dword [ebp + 0x14], 0
jge 0x3dea302
mov eax, 0xffffffe0
jmp 0x3deb012
cmp dword [ebp + 0x18], 0
jl 0x3dea310
mov edx, dword [ebp + 0x18]
cmp edx, dword [ebp + 0x14]
jle 0x3dea31a
mov eax, 0xffffffe8
jmp 0x3deb012
mov edx, dword [ebp - 0x4c]
cmp dword [edx], 0x50435245
je 0x3dea344
mov ecx, dword [ebp - 0x4c]
cmp dword [ecx], 0x45524350
jne 0x3dea33a
mov eax, 0xffffffe3
jmp 0x3deb012
mov eax, 0xfffffffc
jmp 0x3deb012
mov edx, dword [ebp - 0x4c]
test byte [edx + 0xc], 1
jne 0x3dea357
mov eax, 0xffffffe4
jmp 0x3deb012
mov edx, dword [ebp - 0x4c]
test byte [edx + 9], 8
setne cl
and ecx, 1
mov dword [ebx + 0x4c], ecx
mov dword [ebp - 0x20], ecx
test byte [ebp + 0x1f], 8
je 0x3dea377
mov eax, 2
jmp 0x3dea386
test byte [ebp + 0x1d], 0x80
je 0x3dea384
mov eax, 1
jmp 0x3dea386
xor eax, eax
mov dword [ebx + 0x88], eax
cmp dword [ebp - 0x20], 0
je 0x3dea426
test byte [ebp + 0x1d], 0x20
jne 0x3dea426
lea edx, [ebp - 0x50]
push edx
mov ecx, dword [ebp + 0x14]
push ecx
mov ecx, dword [ebp + 0x10]
push ecx
call fcn.03dec044
add esp, 0xc
mov dword [ebp - 0x54], eax
cmp dword [ebp - 0x54], 0
je 0x3dea3f7
cmp dword [ebp + 0x24], 2
jl 0x3dea3d4
mov eax, dword [ebp + 0x20]
mov edx, dword [ebp - 0x50]
mov dword [eax], edx
mov ecx, dword [ebp + 0x20]
mov eax, dword [ebp - 0x54]
mov dword [ecx + 4], eax
cmp dword [ebp - 0x54], 5
jg 0x3dea3ed
cmp dword [ebx + 0x88], 1
jle 0x3dea3ed
mov eax, 0xffffffe7
jmp 0x3deb012
mov eax, 0xfffffff6
jmp 0x3deb012
cmp dword [ebp + 0x18], 0
jle 0x3dea426
mov edx, dword [ebp + 0x18]
cmp edx, dword [ebp + 0x14]
jge 0x3dea426
mov ecx, dword [ebp + 0x10]
mov edi, dword [ebp + 0x18]
xor eax, eax
mov al, byte [ecx + edi]
and eax, 0xc0
cmp eax, 0x80
jne 0x3dea426
mov eax, 0xfffffff5
jmp 0x3deb012
mov edx, dword [ebp - 0x4c]
movzx ecx, word [edx + 0x22]
add ecx, dword [ebp - 0x4c]
mov dword [ebx + 0x30], ecx
mov ecx, dword [ebp - 0x4c]
movzx eax, word [ecx + 0x26]
mov dword [ebx + 0x20], eax
xor eax, eax
mov edx, dword [ebp - 0x4c]
movzx ecx, word [edx + 0x24]
mov dword [ebx + 0x24], ecx
mov dword [ebp - 0x48], eax
mov dword [ebx + 4], 0x989680
mov dword [ebx + 8], 0x989680
xor edx, edx
mov dword [ebx + 0xa8], edx
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ecx + 0x30]
mov dword [ebp - 0x30], eax
cmp dword [ebp + 0xc], 0
je 0x3dea4c7
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx]
mov dword [ebp - 0x58], ecx
test byte [ebp - 0x58], 1
je 0x3dea488
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 4]
mov dword [ebp - 0x48], edx
test byte [ebp - 0x58], 2
je 0x3dea497
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 8]
mov dword [ebx + 4], eax
test byte [ebp - 0x58], 0x10
je 0x3dea4a6
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x14]
mov dword [ebx + 8], ecx
test byte [ebp - 0x58], 4
je 0x3dea4b8
mov eax, dword [ebp + 0xc]
mov edx, dword [eax + 0xc]
mov dword [ebx + 0xa8], edx
test byte [ebp - 0x58], 8
je 0x3dea4c7
mov ecx, dword [ebp + 0xc]
mov eax, dword [ecx + 0x10]
mov dword [ebp - 0x30], eax
mov edx, dword [ebp - 0x4c]
test byte [edx + 0xd], 0x20
je 0x3dea4e4
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ecx + 0x10]
cmp eax, dword [ebx + 4]
jae 0x3dea4e4
mov edx, dword [ebp - 0x4c]
mov ecx, dword [edx + 0x10]
mov dword [ebx + 4], ecx
mov eax, dword [ebp - 0x4c]
test byte [eax + 0xd], 0x40
je 0x3dea501
mov edx, dword [ebp - 0x4c]
mov ecx, dword [edx + 0x14]
cmp ecx, dword [ebx + 8]
jae 0x3dea501
mov eax, dword [ebp - 0x4c]
mov edx, dword [eax + 0x14]
mov dword [ebx + 8], edx
cmp dword [ebp - 0x30], 0
jne 0x3dea50e
mov dword [ebp - 0x30], 0x3e4c93c
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ecx + 8]
or eax, dword [ebp + 0x1c]
test al, 0x10
setne dl
and edx, 1
mov dword [ebp - 0x14], edx
mov ecx, dword [ebp - 0x4c]
test byte [ecx + 0xd], 1
setne al
and eax, 1
mov dword [ebp - 0x18], eax
mov edx, dword [ebp - 0x4c]
test byte [edx + 0xa], 4
setne cl
and ecx, 1
mov dword [ebp - 0x1c], ecx
mov eax, dword [ebp - 0x4c]
movzx edx, word [eax + 0x26]
mov eax, dword [ebp - 0x4c]
movzx ecx, word [eax + 0x24]
imul edx, ecx
mov eax, dword [ebp - 0x4c]
movzx ecx, word [eax + 0x22]
add ecx, dword [ebp - 0x4c]
add edx, ecx
mov dword [ebx + 0x70], edx
mov edx, dword [ebp + 0x10]
mov dword [ebx + 0x74], edx
mov ecx, dword [ebp + 0x18]
mov dword [ebx + 0x94], ecx
mov eax, dword [ebx + 0x74]
add eax, dword [ebp + 0x14]
mov dword [ebx + 0x78], eax
mov edx, dword [ebx + 0x78]
mov dword [ebp - 0x38], edx
mov ecx, dword [ebp - 0x4c]
test byte [ecx + 8], 0x20
setne al
and eax, 1
mov dword [ebx + 0x58], eax
mov edx, dword [ebp - 0x4c]
test byte [edx + 0xb], 0x20
setne cl
and ecx, 1
mov dword [ebx + 0x54], ecx
mov eax, dword [ebp - 0x4c]
test byte [eax + 0xb], 2
setne dl
and edx, 1
xor ecx, ecx
mov dword [ebx + 0x50], edx
mov dword [ebx + 0x2c], ecx
test byte [ebp + 0x1c], 0x80
setne al
and eax, 1
mov dword [ebx + 0x44], eax
test byte [ebp + 0x1d], 1
setne dl
and edx, 1
mov dword [ebx + 0x48], edx
test byte [ebp + 0x1d], 4
setne cl
and ecx, 1
mov dword [ebx + 0x5c], ecx
test byte [ebp + 0x1f], 0x10
setne al
and eax, 1
xor edx, edx
mov dword [ebx + 0x60], eax
xor ecx, ecx
mov dword [ebx + 0x64], edx
mov dword [ebx + 0xb0], ecx
mov dword [ebx + 0xac], ecx
xor eax, eax
mov dword [ebx + 0xa4], eax
mov edx, dword [ebp - 0x4c]
test byte [edx + 0xd], 0x10
setne cl
and ecx, 1
mov dword [ebx + 0x6c], ecx
mov eax, dword [ebp - 0x30]
mov dword [ebx + 0x38], eax
mov edx, dword [ebp - 0x30]
add edx, 0x100
mov dword [ebx + 0x3c], edx
mov ecx, dword [ebp - 0x30]
add ecx, 0x340
mov dword [ebx + 0x40], ecx
mov eax, dword [ebp + 0x1c]
and eax, 0x1800000
sub eax, 1
jb 0x3dea64f
sub eax, 0x7fffff
je 0x3dea674
sub eax, 0x800000
je 0x3dea67d
jmp 0x3dea684
mov edx, dword [ebp - 0x4c]
test dword [edx + 8], 0x1800000
je 0x3dea66d
mov ecx, dword [ebp - 0x4c]
test byte [ecx + 0xa], 0x80
setne al
and eax, 1
mov dword [ebx + 0x68], eax
jmp 0x3dea68e
xor edx, edx
mov dword [ebx + 0x68], edx
jmp 0x3dea68e
mov dword [ebx + 0x68], 1
jmp 0x3dea68e
xor ecx, ecx
mov dword [ebx + 0x68], ecx
jmp 0x3dea68e
mov eax, 0xffffffe9
jmp 0x3deb012
test byte [ebp + 0x1e], 0x70
jne 0x3dea69c
mov edx, dword [ebp - 0x4c]
mov ecx, dword [edx + 8]
jmp 0x3dea69f
mov ecx, dword [ebp + 0x1c]
and ecx, 0x700000
cmp ecx, 0x300000
jg 0x3dea6c6
je 0x3dea6f3
sub ecx, 1
jb 0x3dea6d8
sub ecx, 0xfffff
je 0x3dea6e1
sub ecx, 0x100000
je 0x3dea6ea
jmp 0x3dea70e
sub ecx, 0x400000
je 0x3dea6fc
sub ecx, 0x100000
je 0x3dea705
jmp 0x3dea70e
mov dword [ebp - 0xc], 0xa
jmp 0x3dea718
mov dword [ebp - 0xc], 0xd
jmp 0x3dea718
mov dword [ebp - 0xc], 0xa
jmp 0x3dea718
mov dword [ebp - 0xc], 0xd0a
jmp 0x3dea718
mov dword [ebp - 0xc], 0xffffffff
jmp 0x3dea718
mov dword [ebp - 0xc], 0xfffffffe
jmp 0x3dea718
mov eax, 0xffffffe9
jmp 0x3deb012
cmp dword [ebp - 0xc], 0xfffffffe
jne 0x3dea727
mov dword [ebx + 0x18], 2
jmp 0x3dea76e
cmp dword [ebp - 0xc], 0
jge 0x3dea736
mov dword [ebx + 0x18], 1
jmp 0x3dea76e
xor edx, edx
mov dword [ebx + 0x18], edx
cmp dword [ebp - 0xc], 0xff
jle 0x3dea761
mov dword [ebx + 0x1c], 2
mov ecx, dword [ebp - 0xc]
sar ecx, 8
and cl, 0xff
mov byte [ebx + 0x34], cl
mov al, byte [ebp - 0xc]
and al, 0xff
mov byte [ebx + 0x35], al
jmp 0x3dea76e
mov dword [ebx + 0x1c], 1
mov dl, byte [ebp - 0xc]
mov byte [ebx + 0x34], dl
cmp dword [ebx + 0x88], 0
je 0x3dea78a
mov ecx, dword [ebp - 0x4c]
test byte [ecx + 0xd], 2
je 0x3dea78a
mov eax, 0xfffffff3
jmp 0x3deb012
mov eax, dword [ebp + 0x24]
mov ecx, 3
cdq
idiv ecx
mov eax, dword [ebp + 0x24]
sub eax, edx
mov dword [ebp - 4], eax
mov eax, dword [ebp - 4]
add eax, eax
mov ecx, 3
cdq
idiv ecx
mov dword [ebp - 8], eax
mov ecx, dword [ebp - 0x4c]
movzx eax, word [ecx + 0x20]
test eax, eax
jle 0x3dea808
mov eax, dword [ebp - 4]
mov ecx, 3
cdq
idiv ecx
mov edx, dword [ebp - 0x4c]
movzx ecx, word [edx + 0x20]
cmp eax, ecx
jg 0x3dea808
mov eax, dword [ebp - 0x4c]
movzx ecx, word [eax + 0x20]
lea eax, [ecx + ecx*2]
add eax, 3
mov dword [ebp - 4], eax
mov edx, dword [ebp - 4]
shl edx, 2
push edx
call dword [0x3e3a830]
pop ecx
mov dword [ebx + 0xc], eax
cmp dword [ebx + 0xc], 0
jne 0x3dea7ff
mov eax, 0xfffffffa
jmp 0x3deb012
mov dword [ebp - 0x10], 1
jmp 0x3dea80e
mov edx, dword [ebp + 0x20]
mov dword [ebx + 0xc], edx
mov ecx, dword [ebp - 4]
mov dword [ebx + 0x10], ecx
mov eax, dword [ebp - 4]
add eax, eax
mov ecx, 3
cdq
idiv ecx
mov dword [ebx + 0x14], eax
xor ecx, ecx
mov dword [ebx + 0x90], ecx
cmp dword [ebx + 0xc], 0
je 0x3dea889
mov eax, dword [ebp - 4]
shl eax, 2
add eax, dword [ebx + 0xc]
mov dword [ebp - 0x5c], eax
mov edx, dword [ebp - 0x4c]
movzx ecx, word [edx + 0x1e]
shl ecx, 2
mov eax, dword [ebp - 0x5c]
sub eax, ecx
mov dword [ebp - 0x60], eax
mov edx, dword [ebx + 0xc]
add edx, 8
cmp edx, dword [ebp - 0x60]
jbe 0x3dea86f
mov ecx, dword [ebx + 0xc]
add ecx, 8
mov dword [ebp - 0x60], ecx
jmp 0x3dea86f
mov eax, dword [ebp - 0x5c]
mov dword [eax], 0xffffffff
sub dword [ebp - 0x5c], 4
mov edx, dword [ebp - 0x5c]
cmp edx, dword [ebp - 0x60]
jae 0x3dea866
mov ecx, dword [ebx + 0xc]
or eax, 0xffffffff
mov dword [ecx + 4], eax
mov edx, dword [ebx + 0xc]
mov dword [edx], eax
cmp dword [ebp - 0x14], 0
jne 0x3dea8e2
mov ecx, dword [ebp - 0x4c]
test byte [ecx + 0xc], 0x10
je 0x3dea8c4
mov dword [ebp - 0x24], 1
mov ecx, dword [ebp - 0x4c]
mov al, byte [ecx + 0x18]
mov byte [ebp - 0x2a], al
mov byte [ebp - 0x29], al
mov edx, dword [ebp - 0x4c]
test byte [edx + 0xc], 0x20
je 0x3dea8e2
xor ecx, ecx
mov cl, byte [ebp - 0x29]
mov edi, dword [ebx + 0x3c]
mov al, byte [edi + ecx]
mov byte [ebp - 0x2a], al
jmp 0x3dea8e2
cmp dword [ebp - 0x18], 0
jne 0x3dea8e2
cmp dword [ebp - 0x48], 0
je 0x3dea8e2
mov edx, dword [ebp - 0x48]
test byte [edx + 4], 1
je 0x3dea8e2
mov ecx, dword [ebp - 0x48]
add ecx, 8
mov dword [ebp - 0x34], ecx
mov ecx, dword [ebp - 0x4c]
test byte [ecx + 0xc], 0x40
je 0x3dea915
mov dword [ebp - 0x28], 1
mov eax, dword [ebp - 0x4c]
mov dl, byte [eax + 0x1a]
mov byte [ebp - 0x2c], dl
mov byte [ebp - 0x2b], dl
mov eax, dword [ebp - 0x4c]
test byte [eax + 0xc], 0x80
je 0x3dea915
xor ecx, ecx
mov cl, byte [ebp - 0x2b]
mov edi, dword [ebx + 0x3c]
mov al, byte [edi + ecx]
mov byte [ebp - 0x2c], al
mov edx, dword [ebp - 0x38]
mov dword [ebp - 0x64], edx
cmp dword [ebp - 0x1c], 0
je 0x3deaa22
cmp dword [ebp - 0x20], 0
mov edi, esi
je 0x3dea9bb
jmp 0x3dea94c
inc edi
jmp 0x3dea937
inc edi
cmp edi, dword [ebp - 0x38]
jae 0x3dea94c
xor eax, eax
mov al, byte [edi]
and eax, 0xc0
cmp eax, 0x80
je 0x3dea936
cmp edi, dword [ebx + 0x78]
jae 0x3deaa1f
cmp dword [ebx + 0x18], 0
je 0x3dea988
cmp edi, dword [ebx + 0x78]
jae 0x3dea97d
mov edx, dword [ebp - 0x20]
lea ecx, [ebx + 0x1c]
push edx
push ecx
mov ecx, dword [ebx + 0x78]
push ecx
mov eax, dword [ebx + 0x18]
push eax
push edi
call fcn.03debb84
add esp, 0x14
test eax, eax
jne 0x3dea981
xor edx, edx
jmp 0x3dea9b0
mov edx, 1
jmp 0x3dea9b0
mov ecx, dword [ebx + 0x78]
sub ecx, dword [ebx + 0x1c]
cmp edi, ecx
ja 0x3dea9a7
mov al, byte [edi]
cmp al, byte [ebx + 0x34]
jne 0x3dea9a7
cmp dword [ebx + 0x1c], 1
je 0x3dea9ab
mov dl, byte [edi + 1]
cmp dl, byte [ebx + 0x35]
je 0x3dea9ab
xor edx, edx
jmp 0x3dea9b0
mov edx, 1
test edx, edx
je 0x3dea933
jmp 0x3deaa1f
inc edi
cmp edi, dword [ebx + 0x78]
jae 0x3deaa1f
cmp dword [ebx + 0x18], 0
je 0x3dea9f3
cmp edi, dword [ebx + 0x78]
jae 0x3dea9e8
mov eax, dword [ebp - 0x20]
lea ecx, [ebx + 0x1c]
push eax
push ecx
mov ecx, dword [ebx + 0x78]
push ecx
mov eax, dword [ebx + 0x18]
push eax
push edi
call fcn.03debb84
add esp, 0x14
test eax, eax
jne 0x3dea9ec
xor edx, edx
jmp 0x3deaa1b
mov edx, 1
jmp 0x3deaa1b
mov ecx, dword [ebx + 0x78]
sub ecx, dword [ebx + 0x1c]
cmp edi, ecx
ja 0x3deaa12
mov al, byte [edi]
cmp al, byte [ebx + 0x34]
jne 0x3deaa12
cmp dword [ebx + 0x1c], 1
je 0x3deaa16
mov dl, byte [edi + 1]
cmp dl, byte [ebx + 0x35]
je 0x3deaa16
xor edx, edx
jmp 0x3deaa1b
mov edx, 1
test edx, edx
je 0x3dea9ba
mov dword [ebp - 0x38], edi
mov eax, dword [ebp - 0x4c]
mov ecx, dword [eax + 8]
or ecx, dword [ebp + 0x1c]
test ecx, 0x4000000
jne 0x3deabf6
cmp dword [ebp - 0x24], 0
je 0x3deaa7c
mov cl, byte [ebp - 0x29]
cmp cl, byte [ebp - 0x2a]
je 0x3deaa67
jmp 0x3deaa48
inc esi
cmp esi, dword [ebp - 0x38]
jae 0x3deabf6
mov al, byte [esi]
cmp al, byte [ebp - 0x29]
je 0x3deabf6
cmp al, byte [ebp - 0x2a]
jne 0x3deaa47
jmp 0x3deabf6
inc esi
cmp esi, dword [ebp - 0x38]
jae 0x3deabf6
mov al, byte [esi]
cmp al, byte [ebp - 0x29]
jne 0x3deaa66
jmp 0x3deabf6
cmp dword [ebp - 0x18], 0
je 0x3deabc7
mov edx, dword [ebx + 0x74]
add edx, dword [ebp + 0x18]
cmp esi, edx
jbe 0x3deabf6
cmp dword [ebp - 0x20], 0
je 0x3deab33
jmp 0x3deaabb
inc esi
jmp 0x3deaaa4
inc esi
cmp esi, dword [ebp - 0x38]
jae 0x3deaabb
xor ecx, ecx
mov cl, byte [esi]
and ecx, 0xc0
cmp ecx, 0x80
je 0x3deaaa3
cmp esi, dword [ebp - 0x38]
jae 0x3deaba0
cmp dword [ebx + 0x18], 0
je 0x3deaaf6
mov edi, dword [ebx + 0x74]
cmp esi, edi
jbe 0x3deaaeb
mov eax, dword [ebp - 0x20]
push eax
lea edx, [ebx + 0x1c]
push edx
push edi
mov ecx, dword [ebx + 0x18]
push ecx
push esi
call fcn.03debd6c
add esp, 0x14
test eax, eax
jne 0x3deaaef
xor ecx, ecx
jmp 0x3deab28
mov ecx, 1
jmp 0x3deab28
mov eax, dword [ebx + 0x74]
add eax, dword [ebx + 0x1c]
cmp esi, eax
jb 0x3deab1f
mov edx, esi
sub edx, dword [ebx + 0x1c]
mov cl, byte [edx]
cmp cl, byte [ebx + 0x34]
jne 0x3deab1f
cmp dword [ebx + 0x1c], 1
je 0x3deab23
mov eax, esi
sub eax, dword [ebx + 0x1c]
mov dl, byte [eax + 1]
cmp dl, byte [ebx + 0x35]
je 0x3deab23
xor ecx, ecx
jmp 0x3deab28
mov ecx, 1
test ecx, ecx
je 0x3deaaa0
jmp 0x3deaba0
inc esi
cmp esi, dword [ebp - 0x38]
jae 0x3deaba0
cmp dword [ebx + 0x18], 0
je 0x3deab6a
mov edi, dword [ebx + 0x74]
cmp esi, edi
jbe 0x3deab5f
mov eax, dword [ebp - 0x20]
push eax
lea edx, [ebx + 0x1c]
push edx
push edi
mov ecx, dword [ebx + 0x18]
push ecx
push esi
call fcn.03debd6c
add esp, 0x14
test eax, eax
jne 0x3deab63
xor ecx, ecx
jmp 0x3deab9c
mov ecx, 1
jmp 0x3deab9c
mov eax, dword [ebx + 0x74]
add eax, dword [ebx + 0x1c]
cmp esi, eax
jb 0x3deab93
mov edx, esi
sub edx, dword [ebx + 0x1c]
mov cl, byte [edx]
cmp cl, byte [ebx + 0x34]
jne 0x3deab93
cmp dword [ebx + 0x1c], 1
je 0x3deab97
mov eax, esi
sub eax, dword [ebx + 0x1c]
mov dl, byte [eax + 1]
cmp dl, byte [ebx + 0x35]
je 0x3deab97
xor ecx, ecx
jmp 0x3deab9c
mov ecx, 1
test ecx, ecx
je 0x3deab32
xor eax, eax
mov al, byte [esi - 1]
cmp eax, 0xd
jne 0x3deabf6
cmp dword [ebx + 0x18], 1
je 0x3deabb6
cmp dword [ebx + 0x18], 2
jne 0x3deabf6
cmp esi, dword [ebp - 0x38]
jae 0x3deabf6
xor edx, edx
mov dl, byte [esi]
cmp edx, 0xa
jne 0x3deabf6
inc esi
jmp 0x3deabf6
cmp dword [ebp - 0x34], 0
je 0x3deabf6
cmp esi, dword [ebp - 0x38]
jae 0x3deabf6
xor eax, eax
mov al, byte [esi]
mov ecx, eax
and ecx, 7
mov edx, 1
shl edx, cl
shr eax, 3
mov ecx, dword [ebp - 0x34]
movzx eax, byte [ecx + eax]
and edx, eax
jne 0x3deabf6
inc esi
cmp esi, dword [ebp - 0x38]
jb 0x3deabd2
mov edx, dword [ebp - 0x64]
mov dword [ebp - 0x38], edx
mov ecx, dword [ebp - 0x4c]
mov eax, dword [ecx + 8]
or eax, dword [ebp + 0x1c]
test eax, 0x4000000
jne 0x3deacba
cmp dword [ebx + 0x88], 0
jne 0x3deacba
cmp dword [ebp - 0x48], 0
je 0x3deac40
mov edx, dword [ebp - 0x48]
test byte [edx + 4], 2
je 0x3deac40
mov eax, dword [ebp - 0x48]
mov ecx, dword [ebp - 0x38]
sub ecx, esi
cmp ecx, dword [eax + 0x28]
jae 0x3deac40
xor edi, edi
jmp 0x3deae53
cmp dword [ebp - 0x28], 0
je 0x3deacba
mov eax, dword [ebp - 0x38]
sub eax, esi
cmp eax, 0x3e8
jge 0x3deacba
cmp dword [ebp - 0x24], 0
je 0x3deac5f
mov eax, 1
jmp 0x3deac61
xor eax, eax
add eax, esi
cmp eax, dword [ebp - 0x44]
jbe 0x3deacba
mov dl, byte [ebp - 0x2b]
cmp dl, byte [ebp - 0x2c]
je 0x3deac96
cmp eax, dword [ebp - 0x38]
jae 0x3deacab
xor edx, edx
xor ecx, ecx
mov dl, byte [eax]
inc eax
mov cl, byte [ebp - 0x2b]
cmp edx, ecx
je 0x3deac8c
xor ecx, ecx
mov cl, byte [ebp - 0x2c]
cmp edx, ecx
jne 0x3deac8f
dec eax
jmp 0x3deacab
cmp eax, dword [ebp - 0x38]
jb 0x3deac75
jmp 0x3deacab
cmp eax, dword [ebp - 0x38]
jae 0x3deacab
mov dl, byte [eax]
inc eax
cmp dl, byte [ebp - 0x2b]
jne 0x3deaca6
dec eax
jmp 0x3deacab
cmp eax, dword [ebp - 0x38]
jb 0x3deac9b
cmp eax, dword [ebp - 0x38]
jb 0x3deacb7
xor edi, edi
jmp 0x3deae53
mov dword [ebp - 0x44], eax
mov dword [ebx + 0x7c], esi
mov dword [ebx + 0x84], esi
xor eax, eax
mov dword [ebx], eax
xor edx, edx
mov dword [ebx + 0x98], edx
xor ecx, ecx
mov dword [ebx + 0x8c], ecx
xor ecx, ecx
mov dword [ebx + 0x28], ecx
push 0
push 0
push ebx
push 2
push esi
mov eax, dword [ebx + 0x70]
push eax
push esi
call fcn.03dd9648
add esp, 0x1c
mov edi, eax
cmp dword [ebx + 0x64], 0
je 0x3dead0b
cmp dword [ebp - 0x3c], 0
jne 0x3dead0b
mov eax, dword [ebx + 0x84]
mov dword [ebp - 0x3c], eax
mov dword [ebp - 0x40], esi
mov edx, edi
cmp edx, 0xfffffc1f
jg 0x3dead2a
je 0x3dead3f
sub edx, 0xfffffc1c
je 0x3dead8c
dec edx
je 0x3dead57
dec edx
je 0x3dead4a
jmp 0x3deae53
sub edx, 0xfffffc20
je 0x3dead57
sub edx, 0x3e0
je 0x3dead57
jmp 0x3deae53
mov dword [ebp - 0x68], esi
mov ecx, dword [ebx + 0x28]
mov dword [ebx + 0x2c], ecx
jmp 0x3dead93
cmp esi, dword [ebx + 0x7c]
jae 0x3dead57
mov ecx, dword [ebx + 0x7c]
mov dword [ebp - 0x68], ecx
jmp 0x3dead93
xor eax, eax
lea edx, [esi + 1]
mov dword [ebx + 0x2c], eax
mov dword [ebp - 0x68], edx
cmp dword [ebp - 0x20], 0
je 0x3dead93
jmp 0x3dead6d
inc dword [ebp - 0x68]
mov ecx, dword [ebp - 0x68]
cmp ecx, dword [ebp - 0x38]
jae 0x3dead93
mov eax, dword [ebp - 0x68]
xor edx, edx
mov dl, byte [eax]
and edx, 0xc0
cmp edx, 0x80
je 0x3dead6a
jmp 0x3dead93
xor edi, edi
jmp 0x3deae53
xor edi, edi
cmp dword [ebp - 0x1c], 0
je 0x3deadfa
cmp dword [ebx + 0x18], 0
je 0x3deadce
cmp esi, dword [ebx + 0x78]
jae 0x3deadc3
mov eax, dword [ebp - 0x20]
lea edx, [ebx + 0x1c]
push eax
push edx
mov ecx, dword [ebx + 0x78]
push ecx
mov ecx, dword [ebx + 0x18]
push ecx
push esi
call fcn.03debb84
add esp, 0x14
test eax, eax
jne 0x3deadc7
xor eax, eax
jmp 0x3deadf6
mov eax, 1
jmp 0x3deadf6
mov edx, dword [ebx + 0x78]
sub edx, dword [ebx + 0x1c]
cmp esi, edx
ja 0x3deaded
mov cl, byte [esi]
cmp cl, byte [ebx + 0x34]
jne 0x3deaded
cmp dword [ebx + 0x1c], 1
je 0x3deadf1
mov al, byte [esi + 1]
cmp al, byte [ebx + 0x35]
je 0x3deadf1
xor eax, eax
jmp 0x3deadf6
mov eax, 1
test eax, eax
jne 0x3deae53
cmp dword [ebp - 0x14], 0
mov esi, dword [ebp - 0x68]
jne 0x3deae53
cmp esi, dword [ebp - 0x38]
ja 0x3deae53
mov eax, dword [ebp + 0x10]
add eax, dword [ebp + 0x18]
cmp esi, eax
jbe 0x3deae46
xor edx, edx
mov dl, byte [esi - 1]
cmp edx, 0xd
jne 0x3deae46
cmp esi, dword [ebp - 0x38]
jae 0x3deae46
xor ecx, ecx
mov cl, byte [esi]
cmp ecx, 0xa
jne 0x3deae46
mov ecx, dword [ebp - 0x4c]
test byte [ecx + 0xd], 8
jne 0x3deae46
cmp dword [ebx + 0x18], 1
je 0x3deae45
cmp dword [ebx + 0x18], 2
je 0x3deae45
cmp dword [ebx + 0x1c], 2
jne 0x3deae46
inc esi
xor eax, eax
mov dword [ebx + 0xac], eax
jmp 0x3dea915
cmp edi, 1
je 0x3deae64
cmp edi, 0xfffffc19
jne 0x3deaf8f
cmp dword [ebp - 0x10], 0
je 0x3deaeb0
cmp dword [ebp - 8], 4
jl 0x3deae90
mov edx, dword [ebp - 8]
add edx, 0xfffffffe
shl edx, 2
push edx
mov ecx, dword [ebx + 0xc]
add ecx, 8
push ecx
mov eax, dword [ebp + 0x20]
add eax, 8
push eax
call fcn.03b4ac3c
add esp, 0xc
mov edx, dword [ebx + 0x8c]
cmp edx, dword [ebp - 8]
jle 0x3deaea5
or dword [ebx + 0x90], 0x10000
mov ecx, dword [ebx + 0xc]
push ecx
call dword [0x3e3a834]
pop ecx
test byte [ebx + 0x92], 1
je 0x3deaec8
mov eax, dword [ebx + 0x8c]
cmp eax, dword [ebp - 8]
jl 0x3deaec8
xor edi, edi
jmp 0x3deaed5
mov edi, dword [ebx + 0x8c]
sar edi, 1
jns 0x3deaed5
adc edi, 0
mov eax, dword [ebp - 0x4c]
mov ecx, dword [ebx + 0x8c]
sar ecx, 1
movzx edx, word [eax + 0x1e]
jns 0x3deaee9
adc ecx, 0
cmp edx, ecx
jl 0x3deaf48
cmp dword [ebp + 0x20], 0
je 0x3deaf48
mov ecx, dword [ebp - 0x4c]
movzx eax, word [ecx + 0x1e]
add eax, eax
add eax, 2
mov dword [ebp - 0x74], eax
mov edx, dword [ebp - 0x74]
cmp edx, dword [ebp + 0x24]
jle 0x3deaf10
mov ecx, dword [ebp + 0x24]
mov dword [ebp - 0x74], ecx
mov eax, dword [ebx + 0x8c]
shl eax, 2
add eax, dword [ebp + 0x20]
mov dword [ebp - 0x6c], eax
mov edx, dword [ebp - 0x74]
shl edx, 2
add edx, dword [ebp + 0x20]
mov dword [ebp - 0x70], edx
mov ecx, dword [ebp - 0x6c]
cmp ecx, dword [ebp - 0x70]
jae 0x3deaf48
mov eax, dword [ebp - 0x6c]
mov dword [eax], 0xffffffff
add dword [ebp - 0x6c], 4
mov edx, dword [ebp - 0x6c]
cmp edx, dword [ebp - 0x70]
jb 0x3deaf33
cmp dword [ebp + 0x24], 2
jge 0x3deaf52
xor edi, edi
jmp 0x3deaf6c
mov eax, dword [ebx + 0x7c]
mov edx, dword [ebp + 0x20]
sub eax, dword [ebx + 0x74]
mov dword [edx], eax
mov ecx, dword [ebx + 0x80]
mov esi, dword [ebp + 0x20]
sub ecx, dword [ebx + 0x74]
mov dword [esi + 4], ecx
cmp dword [ebp + 0xc], 0
je 0x3deaf88
mov eax, dword [ebp + 0xc]
test byte [eax], 0x20
je 0x3deaf88
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x18]
mov ebx, dword [ebx + 0xac]
mov dword [ecx], ebx
mov eax, edi
jmp 0x3deb012
cmp dword [ebp - 0x10], 0
je 0x3deafa0
mov edx, dword [ebx + 0xc]
push edx
call dword [0x3e3a834]
pop ecx
test edi, edi
je 0x3deafad
cmp edi, 0xfffffff4
je 0x3deafad
mov eax, edi
jmp 0x3deb012
cmp dword [ebp - 0x40], 0
je 0x3deaff1
xor edx, edx
mov dword [ebx + 0xac], edx
cmp dword [ebp + 0x24], 1
jle 0x3deafea
mov ecx, dword [ebp - 0x3c]
mov eax, dword [ebp + 0x20]
sub ecx, dword [ebp + 0x10]
mov dword [eax], ecx
mov edx, dword [ebp - 0x38]
mov ecx, dword [ebp + 0x20]
sub edx, dword [ebp + 0x10]
mov dword [ecx + 4], edx
cmp dword [ebp + 0x24], 2
jle 0x3deafea
mov ecx, dword [ebp - 0x40]
mov eax, dword [ebp + 0x20]
sub ecx, dword [ebp + 0x10]
mov dword [eax + 8], ecx
mov edi, 0xfffffff4
jmp 0x3deaff4
or edi, 0xffffffff
cmp dword [ebp + 0xc], 0
je 0x3deb010
mov eax, dword [ebp + 0xc]
test byte [eax], 0x20
je 0x3deb010
mov edx, dword [ebp + 0xc]
mov ecx, dword [edx + 0x18]
mov ebx, dword [ebx + 0xb0]
mov dword [ecx], ebx
mov eax, edi
pop edi
pop esi
pop ebx
mov esp, ebp
pop ebp
ret