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

Disassembly:
push ebp
push edi
mov edi, edx
push esi
push ebx
sub esp, 0x9c
mov esi, dword [esp + 0xc0]
mov ebx, dword [esp + 0xc4]
mov dword [esp + 0x24], ecx
mov dword [esp + 0x14], eax
mov ecx, esi
mov dword [esp + 0x30], esi
mov esi, dword [esp + 0xbc]
mov dword [esp + 0x38], ebx
test esi, esi
mov esi, dword [eax]
mov byte [esp + 0x4f], cl
mov byte [esp + 0x4c], bl
mov dword [esp + 0x40], esi
mov esi, dword [eax + 8]
setne byte [esp + 0x4d]
mov dword [esp + 0xc], esi
test esi, esi
jne 0x7dcd9c
call fcn.007830c0
mov dword [esp + 0xc], eax
mov edx, dword [edi + 0x24]
test dl, 0x80
je 0x7dcf20
mov esi, dword [edi + 8]
mov dword [esp + 0x3c], esi
test esi, esi
je 0x80af40
movzx ecx, byte [esi + 0x38]
mov eax, ecx
mov byte [esp + 0x10], cl
and eax, 3
cmp al, 2
je 0x7dcdeb
mov eax, esi
lea esi, [esi]
mov eax, dword [eax + 0x14]
test eax, eax
je 0x80af40
movzx ecx, byte [eax + 0x38]
and ecx, 3
cmp cl, 2
jne 0x7dcdd0
mov dword [esp + 0x3c], eax
mov eax, dword [esp + 0x3c]
mov byte [esp + 0x34], 0
movzx eax, word [eax + 0x32]
mov dword [esp + 0x48], eax
and dh, 8
jne 0x7dcf3e
mov esi, dword [edi + 0x18]
mov dword [esp + 0x1c], esi
test esi, esi
je 0x7dd24e
mov eax, dword [esp + 0x40]
test byte [eax + 0x21], 2
jne 0x7dd24e
mov eax, dword [esp + 0xb8]
mov ecx, dword [esp + 0x14]
mov dword [esp + 0x10], 0
not eax
mov dword [ecx + 0x34], eax
mov ecx, dword [esp + 0x38]
mov eax, 2
cmp cl, 0xb
cmovne eax, ecx
mov ecx, esi
lea esi, [esi + 4]
movzx eax, al
mov ebx, eax
movzx eax, byte [esp + 0x4f]
mov dword [esp + 0x20], eax
mov eax, dword [ecx]
test eax, eax
jle 0x7dd243
mov dword [esp + 0x28], edi
mov ebp, ebx
mov edi, dword [esp + 0x14]
jmp 0x7dceb9
cmp ebp, 5
mov ecx, 2
mov edx, 0x113
cmove ebp, ecx
sub esp, 4
push 3
push 0
mov ecx, ebp
push eax
mov eax, edi
call fcn.007832e0
add esp, 0x10
mov eax, dword [esp + 0xc]
mov edx, ebx
call fcn.00782e20
mov ecx, dword [esp + 0x1c]
add dword [esp + 0x10], 1
add esi, 0x14
mov eax, dword [esp + 0x10]
cmp dword [ecx], eax
jle 0x7dd23f
mov eax, dword [esi]
mov dword [esp + 0x18], eax
mov eax, dword [esp + 0xd0]
test eax, eax
je 0x7dcee2
mov ecx, dword [esp + 0x20]
mov edx, dword [esp + 0xd0]
mov eax, dword [esp + 0x18]
call fcn.0076d970
test eax, eax
je 0x7dcea1
mov eax, dword [edi + 0x38]
lea ebx, [eax - 1]
mov dword [edi + 0x38], ebx
push 0x10
push ebx
push dword [esp + 0x20]
push edi
call fcn.007bddd0
add esp, 0x10
cmp ebp, 4
je 0x7dded1
mov eax, dword [esi + 4]
test eax, eax
jne 0x7dce72
mov eax, dword [esp + 0x28]
mov eax, dword [eax]
jmp 0x7dce72
mov byte [esp + 0x34], 1
mov dword [esp + 0x48], 1
mov dword [esp + 0x3c], 0
and dh, 8
je 0x7dce05
movsx ebp, word [edi + 0x2a]
mov dword [esp + 0x28], 0
mov dword [esp + 0x2c], 0
mov dword [esp + 0x1c], 0
mov dword [esp + 0x10], ebp
nop
mov ebx, dword [esp + 0x10]
test ebx, ebx
jle 0x7dd074
movzx eax, byte [esp + 0x1c]
xor ebx, ebx
xor eax, 1
mov byte [esp + 0x20], al
jmp 0x7dcf9d
cmp byte [esp + 0x20], 0
je 0x7dcfc4
add dword [esp + 0x28], 1
lea esi, [esi]
add ebx, 1
cmp dword [esp + 0x10], ebx
je 0x7dd074
mov edx, dword [edi + 4]
lea eax, [ebx + ebx*4]
lea esi, [edx + eax*4]
movzx ebp, byte [esi + 0xc]
test ebp, ebp
je 0x7dcf90
movsx eax, word [edi + 0x28]
cmp eax, ebx
je 0x7dcf90
movzx eax, word [esi + 0x10]
and eax, 0x60
movzx edx, ax
test edx, edx
jne 0x7dcf80
mov ecx, dword [esp + 0xd0]
test ecx, ecx
je 0x7dcfe2
mov ecx, dword [esp + 0xd0]
mov ecx, dword [ecx + ebx*4]
test ecx, ecx
jns 0x7dcfe2
test ax, ax
je 0x7dcf90
movzx eax, byte [esp + 0x4c]
cmp al, 0xb
je 0x7dd120
movzx ebp, al
cmp ebp, 5
je 0x7dd133
test edx, edx
jne 0x7dd007
mov ecx, dword [esp + 0x1c]
test ecx, ecx
jne 0x7dcf90
mov eax, ebx
test byte [edi + 0x24], 0x20
je 0x7dd01e
test bx, bx
js 0x7dd01e
mov edx, ebx
mov eax, edi
call fcn.0076e7e0
cwde
mov ecx, dword [esp + 0xb8]
lea eax, [eax + ecx + 1]
mov dword [esp + 0x18], eax
cmp ebp, 2
je 0x7dd225
jle 0x7dd0b0
cmp ebp, 3
je 0x7dd0b5
cmp ebp, 5
je 0x7dd185
sub esp, 8
mov edx, 0x32
add ebx, 1
push 0
push dword [esp + 0xd4]
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
call fcn.00782fd0
add esp, 0x10
cmp dword [esp + 0x10], ebx
jne 0x7dcf9d
mov esi, dword [esp + 0x28]
mov eax, dword [esp + 0x2c]
or esi, eax
je 0x7dce05
mov edx, dword [esp + 0x1c]
test edx, edx
jne 0x7dce05
test eax, eax
je 0x7dd09e
test byte [edi + 0x24], 0x60
jne 0x7dd3e0
mov dword [esp + 0x1c], 1
jmp 0x7dcf60
cmp ebp, 1
jne 0x7dd046
push dword [esi]
push dword [edi]
push str._s._s
push dword [esp + 0x4c]
call fcn.00795c10
mov ecx, 0x513
mov esi, eax
pop eax
pop edx
push dword [esp + 0x20]
push ebp
mov edx, 0x43
mov ebp, dword [esp + 0x1c]
mov eax, ebp
call fcn.00782fd0
mov eax, ebp
mov ecx, 0xfffffff9
mov edx, esi
call fcn.00773750
mov eax, dword [ebp + 0x6c]
add esp, 0x10
test eax, eax
jle 0x7dcf90
mov ecx, dword [ebp + 0x68]
lea eax, [eax + eax*4]
mov esi, 1
lea eax, [ecx + eax*4]
mov word [eax - 0x12], si
jmp 0x7dcf90
cmp ebp, 0xb
jne 0x7dcff2
mov ebp, 2
jmp 0x7dcffb
mov eax, dword [edi + 0x24]
mov edx, dword [esp + 0x1c]
and eax, 0x20
test edx, edx
jne 0x7dd1f0
mov ebp, dword [esi + 4]
test ebp, ebp
je 0x7dd1f0
mov ecx, dword [esp + 0xb8]
lea ecx, [ebx + ecx + 1]
mov dword [esp + 0x18], ecx
test eax, eax
je 0x7dd185
test bx, bx
js 0x7de200
mov edx, ebx
mov eax, edi
call fcn.0076e7e0
mov ecx, dword [esp + 0xb8]
cwde
lea eax, [ecx + eax + 1]
mov dword [esp + 0x18], eax
sub esp, 8
mov edx, 0x33
push 0
push 0
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
call fcn.00782fd0
mov edx, dword [esi + 4]
mov ecx, dword [esp + 0x28]
mov ebp, eax
mov eax, dword [esp + 0x24]
add dword [esp + 0x3c], 1
call fcn.007bfab0
mov esi, dword [esp + 0x1c]
add esp, 0x10
test ebp, ebp
mov eax, dword [esi + 0x6c]
mov ecx, dword [esi]
lea edx, [eax - 1]
cmovs ebp, edx
cmp byte [ecx + 0x51], 0
mov edx, 0xc13eac
jne 0x7dd1de
mov edx, dword [esi + 0x68]
lea ecx, [ebp + ebp*4]
lea edx, [edx + ecx*4]
mov dword [edx + 8], eax
jmp 0x7dcf90
mov ecx, dword [esp + 0xb8]
lea ecx, [ebx + ecx + 1]
mov dword [esp + 0x18], ecx
test eax, eax
je 0x7dd225
test bx, bx
js 0x7ddef5
mov edx, ebx
mov eax, edi
call fcn.0076e7e0
mov ecx, dword [esp + 0xb8]
cwde
lea eax, [ecx + eax + 1]
mov dword [esp + 0x18], eax
mov ecx, dword [esp + 0x14]
mov ebp, 2
mov eax, dword [ecx + 0x74]
test eax, eax
cmove eax, ecx
mov byte [eax + 0x15], 1
jmp 0x7dd0b5
mov edi, dword [esp + 0x28]
mov eax, dword [esp + 0x14]
mov dword [eax + 0x34], 0
mov eax, dword [esp + 0xd4]
test eax, eax
je 0x7de1bf
mov eax, dword [esp + 0xd4]
mov eax, dword [eax]
mov dword [esp + 0x2c], eax
test eax, eax
je 0x7dd3fa
mov eax, dword [esp + 0xd4]
mov dword [esp + 0x64], 0
mov eax, dword [eax + 0x10]
mov dword [esp + 0x2c], eax
test eax, eax
je 0x7dd2aa
sub esp, 8
xor ecx, ecx
mov edx, 0xb
push 0
push 0
mov eax, dword [esp + 0x1c]
call fcn.00782fd0
mov dword [esp + 0x74], eax
add esp, 0x10
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 0x20]
test ah, 0x60
je 0x7dd422
test ah, 0x20
je 0x7de1d4
sub esp, 8
mov ecx, 0x7e
mov edx, edi
push 0
push 0
mov eax, dword [esp + 0x24]
call fcn.0076f140
mov dword [esp + 0x84], eax
add esp, 0x10
test eax, eax
je 0x7de1d4
mov esi, dword [esp + 0x14]
sub esp, 8
mov edx, 0x45
mov ecx, dword [esi + 0x2c]
mov dword [esp + 0x18], ecx
add ecx, 1
mov dword [esp + 0x68], ecx
mov dword [esi + 0x2c], ecx
push 0
push ecx
mov eax, dword [esp + 0x1c]
xor ecx, ecx
call fcn.00782fd0
mov ecx, dword [esi + 0x38]
mov dword [esp + 0x20], ecx
sub ecx, 1
mov dword [esp + 0x7c], ecx
add esp, 0x10
cmp byte [esp + 0x30], 0
mov dword [esi + 0x38], ecx
je 0x7dd445
lea esi, [esi]
lea esi, [esi]
cmp byte [esp + 0x34], 0
je 0x7dd445
mov eax, dword [esp + 0x14]
mov ecx, dword [eax + 0x38]
lea esi, [ecx - 1]
mov dword [esp + 0x10], ecx
mov dword [eax + 0x38], esi
movzx eax, byte [esp + 0x4c]
movzx ebx, byte [edi + 0x32]
cmp al, 0xb
je 0x7dd86e
movzx ebx, al
mov eax, dword [esp + 0xd4]
test eax, eax
je 0x7dd38d
mov eax, dword [esp + 0xd4]
mov eax, dword [eax + 0x10]
test eax, eax
je 0x7de2cc
mov dword [esp + 0x58], 0
cmp ebx, 5
je 0x7de33e
mov ecx, dword [esp + 0xbc]
test ecx, ecx
jne 0x7de26f
sub esp, 8
mov edx, 0x20
push dword [esp + 0xc0]
push esi
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0x1c]
call fcn.00782fd0
add esp, 0x10
cmp ebx, 6
ja case.0x7dd3d9.0
jmp dword [ebx*4 + 0xbefa54]
mov eax, dword [esp + 0xb8]
mov ecx, edi
lea edx, [eax + 1]
mov eax, dword [esp + 0x14]
call fcn.007bfe30
jmp 0x7dd09e
mov eax, dword [esp + 0x40]
mov dword [esp + 0x64], 0
mov dword [esp + 0xd4], 0
mov eax, dword [eax + 0x20]
mov byte [esp + 0x4c], 4
test ah, 0x60
jne 0x7dd2ba
cmp byte [esp + 0x30], 0
mov dword [esp + 0x74], 0
mov dword [esp + 0x6c], 0
mov dword [esp + 0x60], 0
jne 0x7dd340
mov dword [esp + 0x70], 0
mov dword [esp + 0x5c], 0
jmp 0x7dd4da
mov ebx, dword [esp + 0xbc]
test ebx, ebx
jne 0x7de5d5
sub esp, 8
mov edx, 0x20
push dword [esp + 0xc0]
push esi
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0x1c]
call fcn.00782fd0
add esp, 0x10
mov dword [esp + 0x58], 0
sub esp, 8
xor ecx, ecx
mov edx, 0xb
push 0
push dword [esp + 0xd4]
mov eax, dword [esp + 0x1c]
call fcn.00782fd0
add esp, 0x10
mov dword [esp + 0x70], 0
mov dword [esp + 0x5c], 0
mov eax, dword [esp + 0xc]
mov edx, esi
call fcn.00782e20
mov ebp, dword [esp + 0x58]
test ebp, ebp
jne 0x7de108
mov ebx, dword [edi + 8]
mov dword [esp + 0x58], 0
mov dword [esp + 0x84], 0
test ebx, ebx
je 0x7de419
mov eax, dword [esp + 0x6c]
mov byte [esp + 0x4e], 0
mov ebp, ebx
mov dword [esp + 0x78], 0
mov dword [esp + 0x68], eax
mov dword [esp + 0x10], 0
mov dword [esp + 0x30], edi
jmp 0x7dd530
mov ebp, dword [ebp + 0x14]
add dword [esp + 0x10], 1
test ebp, ebp
je 0x7dd830
mov eax, dword [esp + 0x24]
mov edi, dword [esp + 0x10]
mov esi, dword [eax + edi*4]
test esi, esi
je 0x7dd520
cmp dword [esp + 0x2c], ebp
je 0x7dde53
mov eax, dword [esp + 0x14]
mov edi, dword [eax + 0x38]
mov dword [esp + 0x18], edi
sub edi, 1
cmp byte [esp + 0x4e], 0
mov dword [esp + 0x1c], edi
mov dword [eax + 0x38], edi
jne 0x7dd571
mov ebx, dword [esp + 0x2c]
test ebx, ebx
je 0x7ddeb0
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x10]
mov ecx, dword [ebp + 0x24]
mov eax, dword [edi + esi*4]
mov dword [esp + 0x38], eax
test ecx, ecx
je 0x7dd5cc
sub esp, 8
xor ecx, ecx
mov edx, 0x48
push 0
push eax
mov eax, dword [esp + 0x1c]
call fcn.00782fd0
mov eax, dword [esp + 0xc8]
mov ebx, dword [esp + 0x24]
mov ecx, dword [esp + 0x2c]
mov edx, dword [ebp + 0x24]
not eax
mov dword [ebx + 0x34], eax
mov eax, ebx
call fcn.007c6110
mov dword [ebx + 0x34], 0
mov eax, dword [edi + esi*4]
mov dword [esp + 0x48], eax
add esp, 0x10
mov eax, dword [esp + 0x38]
cmp word [ebp + 0x34], 0
lea edi, [eax + 1]
mov dword [esp + 0x18], edi
je 0x7de043
mov esi, dword [esp + 0xb8]
xor ebx, ebx
not esi
mov dword [esp + 0x28], esi
mov esi, dword [esp + 0x30]
jmp 0x7dd64c
test byte [esi + 0x24], 0x20
je 0x7dd61d
test dx, dx
js 0x7dd61d
mov eax, esi
mov dword [esp + 0x20], ecx
call fcn.0076e7e0
mov ecx, dword [esp + 0x20]
movsx edx, ax
mov eax, dword [esp + 0xb8]
sub esp, 8
push 0
lea eax, [edx + eax + 1]
push ecx
mov edx, 0x4e
mov ecx, eax
mov eax, dword [esp + 0x1c]
call fcn.00782fd0
add esp, 0x10
movzx eax, word [ebp + 0x34]
add ebx, 1
cmp eax, ebx
jle 0x7dd693
mov eax, dword [ebp + 4]
lea ecx, [edi + ebx]
movsx edx, word [eax + ebx*2]
cmp edx, 0xfffffffe
je 0x7dd8f5
cmp edx, 0xffffffff
je 0x7dd66a
cmp dx, word [esi + 0x28]
jne 0x7dd600
sub esp, 8
mov edx, 0x4f
add ebx, 1
push 0
push ecx
mov ecx, dword [esp + 0xc8]
mov eax, dword [esp + 0x1c]
call fcn.00782fd0
movzx eax, word [ebp + 0x34]
add esp, 0x10
cmp eax, ebx
jg 0x7dd64c
mov edi, dword [esp + 0x24]
mov esi, dword [esp + 0x10]
mov edx, dword [edi + esi*4]
sub esp, 8
push edx
mov edx, 0x5b
push eax
mov ecx, dword [esp + 0x28]
mov eax, dword [esp + 0x1c]
call fcn.00782fd0
add esp, 0x10
movzx edi, byte [esp + 0x4d]
cmp dword [esp + 0x3c], ebp
sete byte [esp + 0x28]
cmp byte [esp + 0x4f], 0
movzx eax, byte [esp + 0x28]
sete cl
mov esi, ecx
and esi, edi
mov ecx, esi
and cl, al
mov esi, ecx
jne 0x7ddbd2
movzx edi, byte [ebp + 0x36]
test edi, edi
je 0x7ddbd2
movzx eax, byte [esp + 0x4c]
cmp al, 0xb
je 0x7ddbe4
movzx edi, al
cmp dword [esp + 0x2c], ebp
je 0x7ddbf9
cmp edi, 5
sete al
mov esi, eax
mov eax, dword [esp + 0x10]
mov ecx, dword [esp + 0xb4]
add ecx, eax
mov dword [esp + 0x34], ecx
test eax, eax
jne 0x7dd731
mov ecx, dword [ebp + 0x14]
test ecx, ecx
je 0x7dd9c5
sub esp, 8
movzx ebx, word [ebp + 0x32]
mov edx, 0x1c
push dword [esp + 0x20]
push dword [esp + 0x28]
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x1c]
call fcn.00782fd0
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x1c]
add esp, 0x10
mov eax, dword [eax]
cmp byte [eax + 0x51], 0
jne 0x7dd77d
mov ecx, dword [esp + 0xc]
mov eax, dword [esp + 0x50]
mov edx, dword [ecx + 0x68]
lea eax, [eax + eax*4]
lea eax, [edx + eax*4]
mov byte [eax + 1], 0xfd
mov dword [eax + 0x10], ebx
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], eax
cmp dword [esp + 0x3c], ebp
je 0x7dd79c
mov edx, dword [esp + 0x48]
mov eax, dword [esp + 0x14]
call fcn.0076e4d0
mov dword [esp + 0x20], eax
cmp byte [esp + 0x4d], 0
jne 0x7dda65
mov eax, esi
test al, al
jne 0x7dda65
cmp edi, 4
je 0x7dd94d
jg 0x7dd925
test edi, edi
jle 0x7ddc11
mov eax, dword [esp + 0x14]
mov ecx, ebp
mov edx, edi
call fcn.0079cd10
cmp dword [esp + 0x2c], ebp
je 0x7dd976
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0xc]
call fcn.00782e20
mov edi, dword [esp + 0x18]
cmp dword [esp + 0x20], edi
je 0x7dd520
cmp dword [esp + 0x48], 1
je 0x7de04e
mov eax, dword [esp + 0x14]
mov edi, dword [esp + 0x48]
cmp edi, dword [eax + 0x1c]
jle 0x7dd520
mov dword [eax + 0x1c], edi
mov ebp, dword [ebp + 0x14]
mov edi, dword [esp + 0x20]
add dword [esp + 0x10], 1
mov dword [eax + 0x20], edi
test ebp, ebp
jne 0x7dd530
mov eax, dword [esp + 0x58]
mov edi, dword [esp + 0x30]
test eax, eax
jne 0x7de174
mov ebp, dword [esp + 0x70]
test ebp, ebp
jne 0x7de060
test byte [edi + 0x24], 0x80
je 0x7de0bd
mov edi, dword [esp + 0x5c]
mov eax, dword [esp + 0xcc]
mov dword [eax], edi
add esp, 0x9c
pop ebx
pop esi
pop edi
pop ebp
ret
cmp ebx, 0xb
jne 0x7dd370
mov ecx, dword [esp + 0xd4]
test ecx, ecx
je 0x7dd894
mov eax, dword [esp + 0xd4]
mov edx, dword [eax + 0x10]
test edx, edx
je 0x7de2cc
mov eax, dword [esp + 0xbc]
test eax, eax
jne 0x7de570
sub esp, 8
mov edx, 0x20
mov ebx, 2
push dword [esp + 0xc0]
push esi
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0x1c]
call fcn.00782fd0
add esp, 0x10
mov dword [esp + 0x58], 0
mov eax, dword [esp + 0x14]
mov ecx, edi
mov edx, ebx
call fcn.00796360
mov dword [esp + 0x70], 0
mov dword [esp + 0x5c], 0
jmp 0x7dd4c3
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x28]
mov dword [eax + 0x34], edx
mov edx, dword [ebp + 0x28]
lea eax, [ebx + ebx*4]
lea eax, [edx + eax*4]
mov edx, dword [eax + 4]
mov eax, dword [esp + 0x14]
call fcn.007c01f0
mov eax, dword [esp + 0x14]
mov dword [eax + 0x34], 0
jmp 0x7dd641
cmp edi, 6
jne 0x7ddc11
sub esp, 8
push dword [esp + 0x3c]
push ebp
mov ecx, dword [esp + 0x40]
mov edx, dword [esp + 0xe4]
mov eax, dword [esp + 0x24]
call fcn.007dca70
add esp, 0x10
sub esp, 8
xor ecx, ecx
mov edx, 0xb
push 0
push dword [esp + 0xd4]
mov eax, dword [esp + 0x1c]
call fcn.00782fd0
add esp, 0x10
cmp dword [esp + 0x2c], ebp
jne 0x7dd7df
sub esp, 8
xor ecx, ecx
mov edx, 0xb
push 0
mov eax, dword [esp + 0x70]
add eax, 1
push eax
mov edi, dword [esp + 0x1c]
mov eax, edi
call fcn.00782fd0
add esp, 0x10
mov esi, dword [esp + 0x78]
mov edx, dword [edi + 0x6c]
mov ebx, dword [edi]
mov ecx, 0xc13eac
test esi, esi
lea eax, [edx - 1]
cmovns eax, esi
cmp byte [ebx + 0x51], 0
jne 0x7dd9bd
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea ecx, [eax + ecx*4]
mov dword [ecx + 8], edx
jmp 0x7dd7ec
cmp byte [esp + 0x28], 0
je 0x7dd731
mov eax, esi
test al, al
je 0x7dd731
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 0x20]
test ah, 0x20
je 0x7dda0d
sub esp, 8
mov ecx, 0x7e
push 0
push 0
mov edx, dword [esp + 0x40]
mov eax, dword [esp + 0x24]
call fcn.0076f140
add esp, 0x10
test eax, eax
jne 0x7dda25
mov eax, dword [esp + 0x40]
mov eax, dword [eax + 0x20]
test ah, 0x40
je 0x7ddbd2
mov eax, dword [esp + 0x30]
mov edx, dword [eax + 0x10]
test edx, edx
je 0x7ddbb2
sub esp, 8
movzx ebx, word [ebp + 0x32]
mov edx, 0x1c
push dword [esp + 0x20]
push dword [esp + 0x28]
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x1c]
call fcn.00782fd0
mov dword [esp + 0x60], eax
mov eax, dword [esp + 0x1c]
add esp, 0x10
mov eax, dword [eax]
cmp byte [eax + 0x51], 0
je 0x7dd765
mov eax, dword [esp + 0x18]
mov dword [esp + 0x20], eax
mov eax, dword [esp + 0x30]
test byte [eax + 0x24], 0x80
je 0x7ddf41
cmp dword [esp + 0x3c], ebp
jne 0x7ddfb5
mov ebx, dword [esp + 0xbc]
test ebx, ebx
je 0x7dd7b1
mov eax, dword [esp + 0xc]
mov ecx, dword [esp + 0x3c]
mov esi, dword [eax + 0x6c]
movzx eax, byte [ebp + 0x38]
movzx edx, word [ecx + 0x32]
and eax, 3
add esi, edx
cmp al, 2
mov eax, dword [esp + 0x20]
cmove eax, dword [esp + 0x18]
mov dword [esp + 0x7c], eax
test edx, edx
je 0x7dd7b1
mov ebx, dword [esp + 0xbc]
mov dword [esp + 0x44], 0x34
mov dword [esp + 0x8c], ebp
mov ebp, dword [esp + 0xc]
add ebx, 1
mov dword [esp + 0x88], edi
mov edi, ecx
mov dword [esp + 0x80], ebx
xor ebx, ebx
lea esi, [esi]
mov eax, dword [edi + 0x20]
mov edx, dword [eax + ebx*4]
mov eax, dword [esp + 0x14]
call fcn.00792be0
mov dword [esp + 0x54], eax
mov eax, dword [edi + 4]
movsx edx, word [eax + ebx*2]
movzx eax, word [edi + 0x32]
sub eax, 1
cmp eax, ebx
mov eax, 0x35
cmovne eax, dword [esp + 0x44]
cmove esi, dword [esp + 0x1c]
mov dword [esp + 0x44], eax
mov eax, dword [esp + 0x30]
test byte [eax + 0x24], 0x20
je 0x7ddb3d
test dx, dx
js 0x7ddb3d
call fcn.0076e7e0
movsx edx, ax
mov eax, dword [esp + 0x80]
sub esp, 8
lea ecx, [eax + edx]
mov eax, dword [esp + 0x84]
add eax, ebx
push eax
mov eax, ebp
push esi
mov edx, dword [esp + 0x54]
call fcn.00782fd0
mov ecx, dword [esp + 0x64]
mov dword [esp], 0xfffffffe
mov edx, eax
mov eax, ebp
call fcn.00774970
mov eax, dword [ebp + 0x6c]
add esp, 0x10
test eax, eax
jle 0x7ddb90
mov edx, dword [ebp + 0x68]
lea eax, [eax + eax*4]
mov ecx, 0x90
lea eax, [edx + eax*4]
mov word [eax - 0x12], cx
movzx eax, word [edi + 0x32]
add ebx, 1
cmp eax, ebx
jg 0x7ddaf0
mov edi, dword [esp + 0x88]
mov ebp, dword [esp + 0x8c]
jmp 0x7dd7b1
mov ebx, eax
mov eax, dword [eax + 0x48]
xor ecx, ecx
mov edx, dword [ebx]
mov dword [esp + 0x20], eax
add eax, 0x38
call fcn.00760b50
mov ebx, dword [eax + 8]
test ebx, ebx
jne 0x7dda25
mov edx, dword [esp + 0x1c]
mov eax, dword [esp + 0xc]
call fcn.00782e20
jmp 0x7dd520
cmp edi, 0xb
mov eax, 2
cmove edi, eax
cmp dword [esp + 0x2c], ebp
jne 0x7dd709
mov eax, dword [esp + 0xd4]
cmp dword [eax + 8], 1
sbb edi, edi
and edi, 0xfffffffe
add edi, 6
jmp 0x7dd711
mov eax, dword [esp + 0xc]
mov edi, dword [eax + 0x6c]
mov eax, dword [esp + 0x60]
test eax, eax
je 0x7ddc35
mov esi, dword [esp + 0x14]
mov eax, dword [esi + 0x74]
test eax, eax
cmove eax, esi
add dword [esp + 0x70], 1
mov byte [eax + 0x14], 1
mov eax, dword [esp + 0x74]
movzx esi, byte [esp + 0x28]
movsx ebx, word [esp + 0x48]
test eax, eax
je 0x7ddf09
cmp byte [esp + 0x4d], 0
je 0x7ddf09
sub esp, 8
mov edx, 0x9f
push 0
push 0
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0x1c]
call fcn.00782fd0
push dword [esp + 0x44]
push esi
push 5
push 0
push ebx
push dword [esp + 0x44]
push dword [esp + 0xdc]
push dword [esp + 0xdc]
mov edx, dword [esp + 0x60]
mov ecx, dword [esp + 0xa4]
mov eax, dword [esp + 0x44]
call fcn.007e1940
add esp, 0x28
mov edx, 0xa0
push 0
push 0
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0x1c]
call fcn.00782fd0
add esp, 0x10
mov ecx, dword [esp + 0x60]
mov dword [esp + 0x5c], 1
test ecx, ecx
je 0x7dd7d5
sub esp, 8
mov edx, 0x52
push 0
push 1
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x70]
mov eax, esi
call fcn.00782fd0
pop ecx
pop ebx
push 0
push 0
xor ecx, ecx
mov edx, 0xb
mov eax, esi
call fcn.00782fd0
mov edx, dword [esp + 0x78]
mov dword [esp + 0x54], eax
mov eax, esi
call fcn.00782e20
mov ecx, dword [esp + 0x24]
mov edx, dword [ebp + 0x24]
mov eax, dword [ecx + 0x38]
mov dword [esp + 0x38], eax
sub eax, 1
mov dword [esp + 0x78], eax
add esp, 0x10
mov dword [ecx + 0x38], eax
test edx, edx
je 0x7ddd4b
sub esp, 8
mov edx, 0x32
push 0
push eax
mov ecx, dword [esp + 0x48]
mov eax, esi
call fcn.00782fd0
add esp, 0x10
mov eax, dword [esp + 0x50]
sub edi, eax
add eax, edi
mov dword [esp + 0x34], eax
test edi, edi
jle 0x7dde0b
mov esi, dword [esp + 0xc]
mov ebx, dword [esp + 0x50]
mov dword [esp + 0x54], ebp
lea esi, [esi]
nop
mov edx, ebx
test ebx, ebx
jns 0x7ddd7c
mov eax, dword [esi + 0x6c]
lea edx, [eax - 1]
mov ecx, dword [esi]
mov eax, 0xc13eac
cmp byte [ecx + 0x51], 0
jne 0x7ddd92
mov eax, dword [esi + 0x68]
lea edx, [edx + edx*4]
lea eax, [eax + edx*4]
movzx edx, byte [eax]
cmp dl, 0x86
je 0x7dddfa
movzx edi, word [eax + 2]
mov ebp, dword [esp + 0x68]
test byte [edx + 0xbfab40], 1
cmove ebp, dword [eax + 8]
sub esp, 8
mov word [esp + 0x40], di
mov edi, dword [eax + 0x10]
mov ecx, dword [eax + 4]
mov dword [esp + 0x30], edi
movsx edi, byte [eax + 1]
push dword [eax + 0xc]
mov eax, esi
push ebp
call fcn.00782fd0
mov ecx, dword [esp + 0x38]
mov dword [esp], edi
mov edx, eax
mov eax, esi
call fcn.00774970
mov eax, dword [esi + 0x6c]
add esp, 0x10
test eax, eax
jle 0x7dddfa
mov edx, dword [esi + 0x68]
lea eax, [eax + eax*4]
movzx edi, word [esp + 0x38]
lea eax, [edx + eax*4]
mov word [eax - 0x12], di
add ebx, 1
cmp dword [esp + 0x34], ebx
jne 0x7ddd70
mov ebp, dword [esp + 0x54]
mov eax, dword [esp + 0x14]
mov ecx, ebp
mov edx, 2
call fcn.0079cd10
mov edi, dword [esp + 0xc]
mov ecx, dword [esp + 0x44]
mov eax, dword [edi + 0x6c]
test ecx, ecx
lea edx, [eax - 1]
cmovns edx, ecx
mov ecx, dword [edi]
cmp byte [ecx + 0x51], 0
mov dword [esp + 0x44], edx
mov edx, 0xc13eac
je 0x7de4ce
mov dword [edx + 8], eax
mov dword [esp + 0x5c], 1
jmp 0x7dd7d5
mov esi, dword [esp + 0x64]
sub esp, 8
xor ecx, ecx
mov edx, 0xb
lea eax, [esi + 1]
mov dword [esp + 0x24], eax
push 0
push 0
mov edi, dword [esp + 0x1c]
mov eax, edi
call fcn.00782fd0
mov edx, dword [edi + 0x6c]
mov ebx, dword [edi]
mov ecx, 0xc13eac
mov dword [esp + 0x88], eax
add esp, 0x10
test esi, esi
lea eax, [edx - 1]
cmovns eax, esi
cmp byte [ebx + 0x51], 0
jne 0x7ddea2
lea ecx, [eax + eax*4]
mov eax, dword [edi + 0x68]
lea ecx, [eax + ecx*4]
cmp byte [esp + 0x4e], 0
mov dword [ecx + 8], edx
jne 0x7dd571
mov eax, dword [esp + 0xb8]
mov edx, dword [esp + 0x30]
lea ecx, [eax + 1]
mov eax, dword [esp + 0xc]
call fcn.00783370
mov byte [esp + 0x4e], 1
jmp 0x7dd571
sub esp, 8
xor ecx, ecx
mov edx, 0xb
push 0
push dword [esp + 0xd4]
mov eax, dword [esp + 0x1c]
call fcn.00782fd0
add esp, 0x10
jmp 0x7dce96
mov eax, dword [esp + 0xb8]
lea eax, [ebx + eax + 1]
mov dword [esp + 0x18], eax
jmp 0x7dd225
push dword [esp + 0x34]
push esi
push 5
push 0
push ebx
push dword [esp + 0x34]
push dword [esp + 0xcc]
push dword [esp + 0xcc]
mov ecx, dword [esp + 0x94]
mov edx, dword [esp + 0x50]
mov eax, dword [esp + 0x34]
call fcn.007e1940
add esp, 0x20
jmp 0x7ddcc1
sub esp, 8
mov edx, 0x86
push 0
push dword [esp + 0x2c]
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x1c]
call fcn.00782fd0
add esp, 0x10
mov ecx, dword [esp + 0xbc]
test ecx, ecx
je 0x7dd7b1
sub esp, 8
mov edx, 0x35
push dword [esp + 0xc4]
push dword [esp + 0x28]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0x30]
mov eax, esi
call fcn.00782fd0
mov eax, dword [esi + 0x6c]
add esp, 0x10
test eax, eax
jle 0x7dd7b1
mov esi, dword [esi + 0x68]
lea eax, [eax + eax*4]
mov edx, 0x90
lea eax, [esi + eax*4]
mov word [eax - 0x12], dx
jmp 0x7dd7b1
mov esi, dword [esp + 0x3c]
cmp word [esi + 0x32], 0
je 0x7dda7d
mov dword [esp + 0x44], edi
xor ebx, ebx
lea esi, [esi]
mov eax, dword [esi + 4]
movzx edx, word [ebp + 0x34]
movzx ecx, word [eax + ebx*2]
test edx, edx
je 0x7ddffd
mov edi, dword [ebp + 4]
xor eax, eax
cmp cx, word [edi]
jne 0x7ddff6
jmp 0x7de002
cmp cx, word [edi + eax*2]
je 0x7de040
add eax, 1
cmp eax, edx
jne 0x7ddff0
mov eax, 0xffffffff
sub esp, 8
mov edi, dword [esp + 0x28]
lea edx, [edi + ebx]
add ebx, 1
push edx
mov edx, 0x59
push eax
mov ecx, dword [esp + 0x44]
mov eax, dword [esp + 0x1c]
call fcn.00782fd0
movzx eax, word [esi + 0x32]
add esp, 0x10
cmp eax, ebx
jg 0x7ddfd0
mov edi, dword [esp + 0x44]
jmp 0x7dda7d
cwde
jmp 0x7de002
mov edx, dword [esp + 0x38]
xor eax, eax
jmp 0x7dd69e
mov edx, dword [esp + 0x20]
mov eax, dword [esp + 0x14]
call fcn.0076e530
jmp 0x7dd520
sub esp, 8
mov edx, 0x14
push 0
push dword [esp + 0x74]
mov ecx, dword [esp + 0x70]
mov eax, dword [esp + 0x1c]
call fcn.00782fd0
add esp, 0x10
mov esi, dword [esp + 0x3c]
test esi, esi
je 0x7de225
sub esp, 8
xor ecx, ecx
mov edx, 0xb
push 0
push dword [esp + 0x78]
mov eax, dword [esp + 0x1c]
call fcn.00782fd0
add esp, 0x10
mov edx, dword [esp + 0x68]
mov eax, dword [esp + 0xc]
call fcn.00782e20
test byte [edi + 0x24], 0x80
jne 0x7dd856
mov eax, dword [esp + 0xb8]
sub esp, 8
mov edx, 0x5b
mov esi, dword [esp + 0x18]
lea ecx, [eax + 1]
mov eax, dword [esp + 0x2c]
push dword [eax + esi*4]
movsx eax, word [edi + 0x2c]
push eax
mov eax, dword [esp + 0x1c]
call fcn.00782fd0
add esp, 0x10
cmp byte [esp + 0x4e], 0
jne 0x7dd856
mov eax, dword [esp + 0xc]
xor ecx, ecx
mov edx, edi
call fcn.00783370
jmp 0x7dd856
sub esp, 8
xor ecx, ecx
mov edx, 0xb
push 0
push 0
mov esi, dword [esp + 0x1c]
mov eax, esi
call fcn.00782fd0
mov ebx, dword [esi + 0x6c]
mov ecx, dword [esi]
mov dword [esp + 0x94], eax
add esp, 0x10
mov eax, dword [esp + 0x58]
lea edx, [ebx - 1]
sub eax, 1
cmovs eax, edx
cmp byte [ecx + 0x51], 0
mov edx, 0xc13eac
jne 0x7de151
lea edx, [eax + eax*4]
mov eax, dword [esi + 0x68]
lea edx, [eax + edx*4]
mov dword [edx + 8], ebx
mov ebx, dword [edi + 8]
test ebx, ebx
jne 0x7dd4f8
mov eax, dword [esp + 0x6c]
mov byte [esp + 0x4e], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x68], eax
sub esp, 8
xor ecx, ecx
mov edx, 0xb
push 0
push dword [esp + 0x64]
mov esi, dword [esp + 0x1c]
mov eax, esi
call fcn.00782fd0
mov eax, dword [esi + 0x6c]
add esp, 0x10
mov ecx, esi
mov esi, dword [esp + 0x84]
lea edx, [eax - 1]
test esi, esi
mov ebx, edx
mov edx, 0xc13eac
cmovns ebx, esi
mov esi, ecx
mov ecx, dword [ecx]
cmp byte [ecx + 0x51], 0
je 0x7de214
mov dword [edx + 8], eax
jmp 0x7dd840
mov dword [esp + 0x2c], 0
mov dword [esp + 0x64], 0
jmp 0x7dd2aa
sub esp, 0xc
xor ecx, ecx
mov edx, edi
push 0
mov eax, dword [esp + 0x24]
mov eax, dword [eax]
call fcn.0076ea80
add esp, 0x10
test eax, eax
je 0x7dd422
mov dword [esp + 0x74], 0
jmp 0x7dd2ec
mov eax, dword [esp + 0xb8]
lea eax, [ebx + eax + 1]
mov dword [esp + 0x18], eax
jmp 0x7dd185
mov edx, dword [esi + 0x68]
lea ecx, [ebx + ebx*4]
lea edx, [edx + ecx*4]
mov dword [edx + 8], eax
jmp 0x7dd840
mov ebx, dword [esp + 0xbc]
test ebx, ebx
jne 0x7de433
sub esp, 8
mov edx, 0x20
push dword [esp + 0xc0]
push dword [esp + 0x78]
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0x1c]
call fcn.00782fd0
mov eax, dword [esp + 0x24]
mov ecx, edi
mov edx, 2
call fcn.00796360
add esp, 0x10
jmp 0x7de0a6
sub esp, 8
mov edx, 0x35
push dword [esp + 0xc4]
push esi
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc8]
mov eax, ebp
call fcn.00782fd0
mov eax, dword [ebp + 0x6c]
add esp, 0x10
test eax, eax
jle 0x7dd3ad
mov dword [esp + 0x58], 0
mov ecx, dword [esp + 0xc]
lea eax, [eax + eax*4]
mov edx, 0x90
shl eax, 2
add eax, dword [ecx + 0x68]
mov word [eax - 0x12], dx
jmp 0x7dd3ad
mov ebx, 2
jmp case.0x7dd3d9.1
mov eax, dword [esp + 0xd4]
mov eax, dword [eax + 8]
test eax, eax
je 0x7dd45a
mov ebp, dword [esp + 0xbc]
test ebp, ebp
jne 0x7de4e4
sub esp, 8
mov edx, 0x20
push dword [esp + 0xc0]
push esi
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0x1c]
call fcn.00782fd0
add esp, 0x10
mov dword [esp + 0x58], 0
sub esp, 8
mov ecx, edi
push dword [esp + 0xb8]
push 0
mov edx, dword [esp + 0xe4]
mov eax, dword [esp + 0x24]
call fcn.007dca70
add esp, 0x10
jmp case.0x7dd3d9.4
cmp byte [esp + 0x4c], 5
je 0x7de36d
mov ebp, dword [edi + 8]
test ebp, ebp
je 0x7de36d
sub esp, 8
xor ecx, ecx
mov edx, 0xb
push 0
push 0
mov eax, dword [esp + 0x1c]
call fcn.00782fd0
add eax, 1
mov dword [esp + 0x68], eax
add esp, 0x10
mov eax, dword [esp + 0xbc]
test eax, eax
jne 0x7de53b
sub esp, 8
mov edx, 0x20
push dword [esp + 0xc0]
push esi
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0x1c]
call fcn.00782fd0
add esp, 0x10
mov ebx, dword [esp + 0x60]
test ebx, ebx
je 0x7de47d
mov ebp, dword [esp + 0x14]
mov edx, edi
mov eax, dword [ebp + 0x74]
test eax, eax
cmove eax, ebp
mov byte [eax + 0x14], 1
mov eax, ebp
push 0xffffffffffffffff
push 1
push 5
push 0
push 1
push dword [esp + 0xcc]
push dword [esp + 0xcc]
push dword [esp + 0xcc]
mov ecx, dword [esp + 0x94]
call fcn.007e1940
add esp, 0x18
mov ecx, ebx
mov edx, 0x52
push 0
push 1
mov eax, dword [esp + 0x1c]
call fcn.00782fd0
add esp, 0x10
mov dword [esp + 0x70], 1
mov dword [esp + 0x5c], 1
jmp 0x7dd4c3
mov eax, dword [esp + 0x6c]
mov byte [esp + 0x4e], 0
mov dword [esp + 0x10], 0
mov dword [esp + 0x68], eax
jmp 0x7dd840
sub esp, 8
mov edx, 0x35
push dword [esp + 0xc4]
push dword [esp + 0x78]
mov esi, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc8]
mov eax, esi
call fcn.00782fd0
mov eax, dword [esi + 0x6c]
add esp, 0x10
test eax, eax
jle 0x7de234
mov edx, dword [esi + 0x68]
lea eax, [eax + eax*4]
mov ecx, 0x90
lea eax, [edx + eax*4]
mov word [eax - 0x12], cx
jmp 0x7de234
mov eax, dword [edi + 8]
test eax, eax
je 0x7de526
mov ebx, dword [esp + 0x14]
mov edx, edi
mov eax, dword [ebx + 0x74]
test eax, eax
cmove eax, ebx
sub esp, 4
mov byte [eax + 0x14], 1
mov eax, ebx
push 0xffffffffffffffff
push 0
push dword [esp + 0xc0]
mov ecx, dword [esp + 0xc0]
call fcn.007c63f0
add esp, 0x10
mov dword [esp + 0x70], 0
mov dword [esp + 0x5c], 1
jmp 0x7dd4c3
mov edi, dword [esp + 0x44]
lea ecx, [edi + edi*4]
mov edi, dword [esp + 0xc]
mov edx, dword [edi + 0x68]
lea edx, [edx + ecx*4]
jmp 0x7dde43
sub esp, 8
mov edx, 0x35
push dword [esp + 0xc4]
push esi
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc8]
mov eax, ebx
call fcn.00782fd0
mov eax, dword [ebx + 0x6c]
add esp, 0x10
test eax, eax
jle 0x7de2ed
mov dword [esp + 0x58], 0
mov ebx, 6
jmp 0x7de2a7
mov dword [esp + 0x70], 0
mov dword [esp + 0x5c], 1
jmp 0x7dd4c3
sub esp, 8
mov edx, 0x35
push dword [esp + 0xc4]
push esi
mov ebp, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc8]
mov eax, ebp
call fcn.00782fd0
mov eax, dword [ebp + 0x6c]
add esp, 0x10
test eax, eax
jg 0x7de2a7
jmp 0x7de37c
sub esp, 8
mov edx, 0x35
push dword [esp + 0xc4]
push esi
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc8]
mov eax, ebx
call fcn.00782fd0
mov eax, dword [ebx + 0x6c]
add esp, 0x10
mov ebx, 2
test eax, eax
jg 0x7de29f
sub esp, 8
mov edx, 0x20
push dword [esp + 0xc0]
push esi
mov ecx, dword [esp + 0xc0]
mov eax, dword [esp + 0x1c]
call fcn.00782fd0
add esp, 0x10
mov dword [esp + 0x58], 0
jmp case.0x7dd3d9.1
sub esp, 8
mov edx, 0x35
push dword [esp + 0xc4]
push esi
mov ebx, dword [esp + 0x1c]
mov ecx, dword [esp + 0xc8]
mov eax, ebx
call fcn.00782fd0
mov eax, dword [ebx + 0x6c]
add esp, 0x10
test eax, eax
jle 0x7dd469
mov dword [esp + 0x58], 0
mov ebx, 4
jmp 0x7de2a7
movzx eax, word [0x32]
ud2