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

Disassembly:
sub esp, 0x3e0
mov eax, dword [0xd9dc60]
xor eax, esp
mov dword [esp + 0x3dc], eax
mov eax, dword [0xd9f024]
push ebx
push ebp
push esi
push edi
xor edi, edi
cmp eax, edi
jl 0xd6215c
cmp eax, dword [0xd9f038]
jg 0xd6215c
mov ebp, 1
cmp dword [0xdc2d5e], ebp
jne 0xd61ad0
mov ebx, dword [0xdc2890]
mov dword [0xdc2860], edi
mov esi, 0xdc2868
mov edi, 0xdc2d48
call fcn.00d64360
test eax, eax
je 0xd61ac0
mov dword [0xdc2860], ebp
call dword [0xd9123c]
push 0x3e8
mov dword [0xdc295c], eax
call dword [0xd91250]
jmp 0xd6219a
push 0x1388
call dword [0xd91250]
jmp 0xd6219a
push 0xdc2bf0
mov ecx, 0xd9f038
call fcn.00d63060
test eax, eax
je 0xd62142
mov edx, dword [0xd9fb58]
mov eax, dword [0xd9fb50]
mov ecx, dword [0xd9fb54]
push 0x3c6
mov dword [0xdc2cf8], edx
mov dword [0xdc2cf0], eax
mov eax, dword [0xd9fb5c]
mov dword [0xdc2cf4], ecx
mov ecx, dword [0xd9facc]
lea edx, [esp + 0x24]
push edi
push edx
mov dword [0xdc2cfc], eax
mov dword [0xdc2b6c], ecx
call fcn.00d7b750
mov eax, dword [0xdc2860]
add esp, 0xc
cmp eax, ebp
jne 0xd61bf3
xor eax, eax
movzx ecx, word [eax + 0xdc2864]
mov word [esp + eax + 0xd2], cx
add eax, 2
cmp cx, di
jne 0xd61b41
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [eax + 0xdc28b2]
mov word [esp + eax + 0x112], cx
add eax, 2
cmp cx, di
jne 0xd61b60
xor eax, eax
lea esp, [esp]
movzx ecx, word [eax + 0xdc2894]
mov word [esp + eax + 0xd6], cx
add eax, 2
cmp cx, di
jne 0xd61b80
mov cl, byte [0xd96570]
mov eax, dword [0xd9656c]
mov byte [0xdb2864], cl
mov dword [0xdb2860], eax
mov ecx, 0xf1
lea esi, [esp + 0x20]
mov edi, 0xdb2864
rep movsd dword es:[edi], dword [esi]
push ebp
movsw word es:[edi], word [esi]
push 0xdb2860
mov esi, 0xdc2d48
mov dword [0xd9f02c], 0x3ca
call fcn.00d64460
mov dword [0xdc2860], 2
call dword [0xd9123c]
mov dword [0xdc295c], eax
jmp 0xd6219a
cmp eax, 2
jne 0xd61c2d
mov esi, dword [0xd9123c]
call esi
sub eax, dword [0xdc295c]
cmp eax, 0x1388
jbe 0xd6219a
mov dword [0xdc2860], edi
call esi
mov esi, 0xdc2d48
mov dword [0xdc295c], eax
call fcn.00d64430
jmp 0xd6219a
cmp eax, 3
jne 0xd61dd5
mov esi, dword [0xd9123c]
call esi
sub eax, dword [0xdc295c]
cmp eax, 0x3e8
jbe 0xd6219a
cmp dword [0xd9f024], 6
mov eax, 0xb4
lea ecx, [eax - 0x32]
jne 0xd61c6a
mov eax, 0x320
mov ecx, 0x32
mov edx, dword [0xdc2cf0]
push ecx
mov ecx, dword [0xdc2cf4]
push eax
sub esp, 0x10
mov eax, esp
mov dword [eax], edx
mov edx, dword [0xdc2cf8]
mov dword [eax + 4], ecx
mov ecx, dword [0xdc2cfc]
mov dword [eax + 8], edx
mov dword [eax + 0xc], ecx
mov ecx, 0xd9f038
call fcn.00d630d0
test eax, eax
je 0xd61d28
mov eax, dword [0xd9f024]
cmp eax, 5
ja 0xd61d04
push 0xd96574
push 0xd9fb60
call fcn.00d7a2b8
add esp, 8
test eax, eax
je 0xd61ce8
xor eax, eax
jmp 0xd61cd0
movzx ecx, word [eax + 0xd9fb60]
mov word [eax + 0xdc2c70], cx
add eax, 2
cmp cx, di
jne 0xd61cd0
jmp 0xd61d46
push 0xd9657c
push 0xd9fb60
call fcn.00d7a2b8
add esp, 8
test eax, eax
je 0xd61d46
mov dword [esp + 0x38], ebp
jmp 0xd61d46
cmp eax, 6
jne 0xd61d46
xor eax, eax
jmp 0xd61d10
movzx ecx, word [eax + 0xd9fb60]
mov word [eax + 0xdc2c70], cx
add eax, 2
cmp cx, di
jne 0xd61d10
jmp 0xd61d46
xor eax, eax
lea ebx, [ebx]
movzx ecx, word [eax + 0xd965b0]
mov word [eax + 0xdc2c70], cx
add eax, 2
cmp cx, di
jne 0xd61d30
call esi
mov edx, dword [0xd96588]
mov dword [0xdc295c], eax
mov al, byte [0xd9658c]
mov byte [0xdb2864], al
mov dword [0xdb2860], edx
xor eax, eax
jmp 0xd61d70
movzx ecx, word [eax + 0xdc2bf0]
mov word [esp + eax + 0x3c], cx
add eax, 2
cmp cx, di
jne 0xd61d70
xor eax, eax
jmp 0xd61d90
movzx ecx, word [eax + 0xdc2c70]
mov word [esp + eax + 0x78], cx
add eax, 2
cmp cx, di
jne 0xd61d90
mov ecx, 0xf1
lea esi, [esp + 0x20]
mov edi, 0xdb2864
rep movsd dword es:[edi], dword [esi]
push ebp
movsw word es:[edi], word [esi]
push 0xdb2860
mov esi, 0xdc2d48
mov dword [0xd9f02c], 0x3ca
call fcn.00d64460
jmp 0xd6219a
cmp eax, 4
jne 0xd6219a
call dword [0xd9123c]
mov ecx, eax
mov eax, 0x3e8
cdq
idiv dword [0xdc294c]
sub ecx, dword [0xdc295c]
cmp ecx, eax
jbe 0xd6219a
mov edx, dword [0xdc2cf8]
mov esi, dword [0xdc2cf0]
mov ebx, dword [0xdc2cf4]
mov dword [esp + 0x14], edi
mov edi, dword [0xdc2cfc]
mov eax, edx
mov ecx, edi
xor ebp, ebp
sub eax, esi
sub ecx, ebx
cmp dword [0xd9f024], 6
jne 0xd61e43
sub esp, 0x10
mov eax, esp
mov dword [eax], esi
mov dword [eax + 4], ebx
mov dword [eax + 8], edx
mov dword [eax + 0xc], edi
xor eax, eax
jmp 0xd61eb7
cmp dword [0xd9f024], 5
ja 0xd61e9e
cmp dword [0xdc2b68], 3
jne 0xd61e9e
mov al, byte [0xd96594]
mov edx, dword [0xd96590]
mov byte [0xdb2864], al
mov eax, dword [0xdc2d40]
mov dword [0xdb2860], edx
test eax, eax
je 0xd6219a
push 0xd9f02c
call eax
mov eax, dword [0xdc2d44]
add esp, 4
test eax, eax
je 0xd6219a
push 0xdb2864
call eax
add esp, 4
jmp 0xd62106
mov esi, dword [esp + 0x14]
sub esp, 0x10
mov edx, esp
mov dword [edx], ebp
mov dword [edx + 4], esi
mov dword [edx + 8], eax
mov eax, dword [0xdc2b6c]
mov dword [edx + 0xc], ecx
push 0xdc2d20
call fcn.00d63830
test eax, eax
je 0xd6219a
mov esi, dword [0xdc2d20]
test esi, esi
je 0xd6219a
mov eax, dword [0xd9f024]
test eax, eax
jne 0xd61f18
push 0xd0
push 0x140
push eax
push 0x10e
push esi
push 0xdc2d08
call fcn.00d62bc0
push 0x14
push 0
push 0xbc
push 0x140
push 0x21c
mov edx, 0x104
jmp 0xd620b7
cmp eax, 1
jne 0xd61f53
push 0xd0
push 0x140
push 0
push 0x64
push esi
push 0xdc2d08
call fcn.00d62bc0
push 0x14
push 0
push 0xbc
push 0x140
push 0x203
mov edx, 0xe6
jmp 0xd620b7
cmp eax, 2
je 0xd62086
cmp eax, 3
je 0xd62086
cmp eax, 4
jne 0xd61fc0
push 0xad
push 0x140
push 6
push 0x10e
push esi
push 0xdc2d08
call fcn.00d62bc0
push 0
push pe_nt_image_headers32
push 0x14
push 0x50
push 6
push esi
mov edx, 0x2a8
mov ebx, 0xdc2d08
call fcn.00d62d50
push 0x14
push 0
push 0x9b
push 0x140
push 0x24e
mov edx, 0x14a
jmp 0xd620b7
cmp eax, 5
jne 0xd6201b
push 0xd0
push 0x140
push 0
push 0x69
push esi
push 0xdc2d08
call fcn.00d62bc0
push 0
push 0x8c
push 0x14
push 0xb4
push 0
push esi
mov edx, 0x1b3
mov ebx, 0xdc2d08
call fcn.00d62d50
push 0x14
push 0
push 0xbc
push 0x140
push 0x1ea
mov edx, 0xe6
jmp 0xd620b7
cmp eax, 6
jne 0xd62053
push 0xdc
push 0x190
push 0
push 0x5a
push esi
push 0xdc2d08
call fcn.00d62bc0
push 0x17
push 0
push 0xc5
push 0x190
push 0x226
mov edx, 0xfa
jmp 0xd620b7
push 0xc8
push 0x154
push 0
push 0x78
push esi
push 0xdc2d08
call fcn.00d62bc0
push 0x1e
push 0
push 0xaa
push 0x154
push 0x226
mov edx, 0x14a
jmp 0xd620b7
push 0xbc
push 0x140
push 0
push 0x6e
push esi
push 0xdc2d08
call fcn.00d62bc0
push 0x14
push 0
push 0xa8
push 0x140
push 0x186
mov edx, 0x82
push esi
mov ebx, 0xdc2d08
call fcn.00d62d50
mov edx, dword [0xd96590]
mov al, byte [0xd96594]
mov ecx, dword [0xdc2954]
push 0xd9f02c
push 0xdb2864
mov dword [0xdb2860], edx
mov edx, dword [0xdc2d0c]
push ecx
mov byte [0xdb2864], al
mov eax, dword [0xdc2d08]
push edx
push eax
call fcn.00d68b6c
add esp, 0x14
test eax, eax
jne 0xd6219a
mov ecx, dword [0xd9f02c]
dec ecx
cmp ecx, 0xfffa
ja 0xd6219a
add dword [0xd9f02c], 4
push 0
push 0xdb2860
mov esi, 0xdc2d48
call fcn.00d64460
test eax, eax
je 0xd6219a
call dword [0xd9123c]
mov dword [0xdc295c], eax
jmp 0xd6219a
mov dword [0xdc2cf0], edi
mov dword [0xdc2cf4], edi
mov dword [0xdc2cf8], edi
mov dword [0xdc2cfc], edi
jmp 0xd6219a
mov dword [0xdc2860], edi
call dword [0xd9123c]
cmp dword [0xdc2d5e], 3
mov dword [0xdc295c], eax
jl 0xd6219a
mov eax, dword [0xdc2d5a]
cmp eax, edi
je 0xd62190
push eax
call dword [fcn.00d91420]
test eax, eax
jne 0xd62190
mov dword [0xdc2d5a], edi
mov dword [0xdc2d5e], 1
mov ecx, dword [esp + 0x3ec]
pop edi
pop esi
pop ebp
pop ebx
xor ecx, esp
xor eax, eax
call fcn.00d79b65
add esp, 0x3e0
ret