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

Disassembly:
push ebp
push ebx
push edi
push esi
sub esp, 0x84
mov ebx, dword [esp + 0xa0]
mov ebp, dword [esp + 0x98]
mov ecx, dword [ebp + 0x40]
mov eax, ecx
or eax, 8
mov dword [ebp + 0x40], eax
mov eax, dword [ebx]
test eax, eax
je 0x4da575
mov ecx, dword [ebp + 0x50]
test ecx, ecx
jne 0x4da5be
jmp 0x4da5fb
mov eax, dword [esp + 0x9c]
or ecx, 9
mov dword [ebp + 0x40], ecx
test eax, eax
je 0x4da5ac
mov dword [ebp + 0x50], 0
mov eax, dword [ebp + 0x68]
test eax, eax
je 0x4da5a5
mov eax, dword [eax + 0x20]
test eax, eax
je 0x4da5a5
lea ecx, [ebp + 0x6c]
push ecx
push ebp
call eax
add esp, 8
mov dword [ebp + 0x68], 0
mov dword [ebx], 2
mov eax, 2
mov ecx, dword [ebp + 0x50]
test ecx, ecx
je 0x4da5fb
cmp dword [ebp + 0x68], 0
je 0x4da5fb
mov dword [ebx], 5
lea eax, [ebx + 0x18]
push eax
push ebp
call dword [ecx + 4]
add esp, 8
test eax, eax
je 0x4db373
cmp eax, 0xffffffdb
je 0x4dab27
push 0xa3eb84
push 0xfffffffffffffff8
push ebp
call fcn.004e2e90
add esp, 0xc
jmp 0x4db373
cmp eax, 4
je 0x4daaf3
cmp eax, 3
je 0x4da63a
cmp eax, 2
jne 0x4db35e
mov eax, dword [ebp + 0x10c]
mov dword [ebx + 0x208], eax
mov eax, dword [ebp + 0x110]
mov dword [ebx + 0x20c], eax
mov dword [ebp + 0x10c], 0
mov dword [ebx], 3
cmp dword [ebp + 0x11428], 0
je 0x4da68c
mov edi, dword [ebp + 0x1142c]
mov esi, dword [ebp + 0x11430]
mov dword [ebp + 0x1142c], 0
mov dword [ebp + 0x11430], 0
push 0
push 0
push esi
push edi
push ebp
call fcn.004ef830
add esp, 0x14
test eax, eax
je 0x4da6a0
cmp eax, 0xffffffdb
jne 0x4da6cd
mov dword [ebp + 0x1142c], edi
mov dword [ebp + 0x11430], esi
jmp 0x4dab27
mov eax, dword [ebp + 0x38]
test eax, eax
je 0x4da6ec
push eax
call fcn.00786b90
add esp, 4
mov edi, eax
jmp 0x4da71c
mov eax, dword [ebp + 0x10c]
test eax, eax
je 0x4da6b2
push ebp
push eax
call dword [ebp + 0xc]
add esp, 8
mov dword [ebp + 0x10c], edi
mov dword [ebp + 0x110], esi
mov dword [ebp + 0x11428], 0
jmp 0x4daaed
push ebp
push edi
mov esi, eax
call dword [ebp + 0xc]
add esp, 8
mov dword [ebp + 0x11428], 0
push 0xa3ece2
push esi
jmp 0x4daab8
mov eax, dword [0x894d74]
xor edi, edi
test eax, eax
je 0x4da71c
mov esi, 0x894d78
nop dword [eax]
mov eax, dword [eax]
test eax, eax
je 0x4da71b
push eax
call fcn.00786b90
add esp, 4
add edi, eax
inc edi
mov eax, dword [esi]
add esi, 4
test eax, eax
jne 0x4da700
dec edi
mov dword [esp + 0x20], edi
mov eax, dword [ebp + 0x3c]
test eax, eax
je 0x4da889
push eax
call fcn.00786b90
add esp, 4
mov esi, eax
mov dword [esp + 4], esi
mov eax, dword [ebp + 0x130]
test eax, eax
je 0x4da8d1
push eax
call fcn.00786b90
add esp, 4
mov esi, eax
mov dword [esp + 8], esi
mov eax, dword [ebp + 0xf8]
test eax, eax
je 0x4da921
push eax
call fcn.00786b90
add esp, 4
mov esi, eax
mov dword [esp + 0xc], esi
mov eax, dword [ebp + 0x134]
test eax, eax
je 0x4da971
push eax
call fcn.00786b90
add esp, 4
mov esi, eax
mov dword [esp + 0x10], esi
mov eax, dword [ebp + 0xfc]
test eax, eax
je 0x4da9c1
push eax
call fcn.00786b90
add esp, 4
mov esi, eax
mov dword [esp + 0x14], esi
mov eax, dword [ebp + 0x138]
test eax, eax
je 0x4daa11
push eax
call fcn.00786b90
add esp, 4
mov esi, eax
mov dword [esp + 0x18], esi
mov eax, dword [ebp + 0x100]
test eax, eax
je 0x4daa61
push eax
call fcn.00786b90
add esp, 4
mov esi, eax
mov dword [esp + 0x1c], esi
mov eax, dword [ebp + 0x13c]
xor esi, esi
mov edi, 0
test eax, eax
je 0x4da804
push eax
call fcn.00786b90
add esp, 4
mov edi, eax
mov eax, dword [ebp + 0x104]
test eax, eax
je 0x4da819
push eax
call fcn.00786b90
add esp, 4
mov esi, eax
mov eax, dword [esp + 4]
mov ecx, dword [esp + 0x20]
add eax, ecx
mov ecx, dword [esp + 0xc]
mov edx, dword [esp + 8]
add ecx, edx
add ecx, eax
mov eax, dword [esp + 0x14]
mov edx, dword [esp + 0x10]
add eax, edx
add eax, dword [esp + 0x18]
add eax, ecx
mov ecx, dword [esp + 0x1c]
mov dword [esp + 0x30], edi
add ecx, edi
add eax, ecx
mov dword [esp + 0x34], esi
add esi, eax
add esi, 0x3e
push ebp
push esi
call dword [ebp + 4]
add esp, 8
test eax, eax
je 0x4daab1
mov edi, eax
inc eax
mov byte [edi], 0x14
push 0x10
push eax
call fcn.004d4a70
add esp, 8
test eax, eax
je 0x4dac8a
push 0xa3ecb4
push 0xffffffffffffffcf
jmp 0x4daab8
call fcn.004d9400
xor esi, esi
test eax, eax
je 0x4da736
mov edi, eax
mov eax, dword [eax]
test eax, eax
je 0x4da736
add edi, 4
xor esi, esi
nop dword [eax]
mov eax, dword [eax]
test eax, eax
je 0x4da8cb
push eax
call fcn.00786b90
add esp, 4
add esi, eax
inc esi
mov eax, dword [edi]
add edi, 4
test eax, eax
jne 0x4da8b0
dec esi
jmp 0x4da736
call fcn.004f4610
xor esi, esi
test eax, eax
je 0x4da753
mov edi, eax
mov eax, dword [eax]
test eax, eax
je 0x4da753
add edi, 4
xor esi, esi
nop word cs:[eax + eax]
mov eax, dword [eax]
test eax, eax
je 0x4da91b
push eax
call fcn.00786b90
add esp, 4
add esi, eax
inc esi
mov eax, dword [edi]
add edi, 4
test eax, eax
jne 0x4da900
dec esi
jmp 0x4da753
call fcn.004f4610
xor esi, esi
test eax, eax
je 0x4da770
mov edi, eax
mov eax, dword [eax]
test eax, eax
je 0x4da770
add edi, 4
xor esi, esi
nop word cs:[eax + eax]
mov eax, dword [eax]
test eax, eax
je 0x4da96b
push eax
call fcn.00786b90
add esp, 4
add esi, eax
inc esi
mov eax, dword [edi]
add edi, 4
test eax, eax
jne 0x4da950
dec esi
jmp 0x4da770
call fcn.004e2960
xor esi, esi
test eax, eax
je 0x4da78d
mov edi, eax
mov eax, dword [eax]
test eax, eax
je 0x4da78d
add edi, 4
xor esi, esi
nop word cs:[eax + eax]
mov eax, dword [eax]
test eax, eax
je 0x4da9bb
push eax
call fcn.00786b90
add esp, 4
add esi, eax
inc esi
mov eax, dword [edi]
add edi, 4
test eax, eax
jne 0x4da9a0
dec esi
jmp 0x4da78d
call fcn.004e2960
xor esi, esi
test eax, eax
je 0x4da7aa
mov edi, eax
mov eax, dword [eax]
test eax, eax
je 0x4da7aa
add edi, 4
xor esi, esi
nop word cs:[eax + eax]
mov eax, dword [eax]
test eax, eax
je 0x4daa0b
push eax
call fcn.00786b90
add esp, 4
add esi, eax
inc esi
mov eax, dword [edi]
add edi, 4
test eax, eax
jne 0x4da9f0
dec esi
jmp 0x4da7aa
push ebp
call fcn.004f45c0
add esp, 4
xor esi, esi
test eax, eax
je 0x4da7c7
mov edi, eax
mov eax, dword [eax]
test eax, eax
je 0x4da7c7
add edi, 4
xor esi, esi
nop word cs:[eax + eax]
mov eax, dword [eax]
test eax, eax
je 0x4daa5b
push eax
call fcn.00786b90
add esp, 4
add esi, eax
inc esi
mov eax, dword [edi]
add edi, 4
test eax, eax
jne 0x4daa40
dec esi
jmp 0x4da7c7
push ebp
call fcn.004f45c0
add esp, 4
xor esi, esi
test eax, eax
je 0x4da7e4
mov edi, eax
mov eax, dword [eax]
test eax, eax
je 0x4da7e4
add edi, 4
xor esi, esi
nop word cs:[eax + eax]
mov eax, dword [eax]
test eax, eax
je 0x4daaab
push eax
call fcn.00786b90
add esp, 4
add esi, eax
inc esi
mov eax, dword [edi]
add edi, 4
test eax, eax
jne 0x4daa90
dec esi
jmp 0x4da7e4
push 0xa3ec9a
push 0xfffffffffffffffa
push ebp
call fcn.004e2e90
add esp, 0xc
test eax, eax
je 0x4daaed
cmp eax, 0xffffffdb
je 0x4dab27
mov eax, dword [ebx + 0x208]
mov dword [ebp + 0x10c], eax
mov eax, dword [ebx + 0x20c]
mov dword [ebp + 0x110], eax
mov dword [ebx], 0
jmp 0x4dac7c
mov dword [ebx], 4
mov eax, ebx
add ebx, 0x200
lea edi, [eax + 0x204]
mov esi, eax
lea eax, [eax + 8]
push eax
push 0
push 0
push 0
push edi
push ebx
push 0x14
push ebp
call fcn.004e51a0
add esp, 0x20
test eax, eax
je 0x4dab35
cmp eax, 0xffffffdb
jne 0x4dac4c
and byte [ebp + 0x40], 0xf7
mov eax, 0xffffffdb
jmp 0x4db3bd
mov eax, dword [ebp + 0xd4]
test eax, eax
je 0x4dab47
push ebp
push eax
call dword [ebp + 0xc]
add esp, 8
mov eax, dword [ebx]
mov dword [ebp + 0xd4], eax
mov ecx, dword [edi]
mov dword [ebp + 0xd8], ecx
cmp ecx, 0x11
jb 0x4dac3a
mov dword [esp + 0x38], eax
mov dword [esp + 0x40], ecx
add eax, 0x11
mov dword [esp + 0x3c], eax
lea eax, [esp + 0x60]
lea ecx, [esp + 0x80]
lea edi, [esp + 0x38]
push eax
push ecx
push edi
call fcn.004e3900
add esp, 0xc
test eax, eax
jne 0x4dac3a
lea eax, [esp + 0x5c]
lea ecx, [esp + 0x7c]
push eax
push ecx
push edi
call fcn.004e3900
add esp, 0xc
test eax, eax
jne 0x4dac3a
lea eax, [esp + 0x58]
lea ecx, [esp + 0x78]
push eax
push ecx
push edi
call fcn.004e3900
add esp, 0xc
test eax, eax
jne 0x4dac3a
lea eax, [esp + 0x54]
lea ecx, [esp + 0x74]
push eax
push ecx
push edi
call fcn.004e3900
add esp, 0xc
test eax, eax
jne 0x4dac3a
lea eax, [esp + 0x48]
lea ecx, [esp + 0x68]
push eax
push ecx
push edi
call fcn.004e3900
add esp, 0xc
test eax, eax
jne 0x4dac3a
lea eax, [esp + 0x44]
lea ecx, [esp + 0x64]
push eax
push ecx
push edi
call fcn.004e3900
add esp, 0xc
test eax, eax
jne 0x4dac3a
lea eax, [esp + 0x50]
lea ecx, [esp + 0x70]
push eax
push ecx
push edi
call fcn.004e3900
add esp, 0xc
test eax, eax
jne 0x4dac3a
lea eax, [esp + 0x4c]
lea ecx, [esp + 0x6c]
push eax
push ecx
push edi
call fcn.004e3900
add esp, 0xc
test eax, eax
je 0x4db256
mov ebx, esi
mov dword [esi], 5
mov eax, 0xfffffffb
jmp 0x4db373
mov eax, dword [ebp + 0x10c]
test eax, eax
je 0x4dac5e
push ebp
push eax
call dword [ebp + 0xc]
add esp, 8
mov eax, dword [esi + 0x208]
mov dword [ebp + 0x10c], eax
mov eax, dword [esi + 0x20c]
mov dword [ebp + 0x110], eax
mov dword [esi], 0
and byte [ebp + 0x40], 0xf6
mov eax, 0xffffffff
jmp 0x4db3bd
mov dword [esp + 0x24], esi
lea eax, [edi + 0x11]
mov ecx, dword [ebp + 0x38]
mov dword [esp + 0x28], ecx
mov esi, dword [esp + 0x20]
push esi
mov dword [esp + 4], eax
push eax
call fcn.004e2fe0
add esp, 8
cmp dword [esp + 0x28], 0
mov dword [esp + 0x2c], edi
je 0x4dacd0
lea eax, [edi + 0x15]
push esi
push dword [ebp + 0x38]
push eax
call fcn.00786d70
add esp, 0xc
lea eax, [edi + esi]
add eax, 0x15
mov dword [esp], eax
jmp 0x4dad2f
mov eax, dword [0x894d74]
test eax, eax
je 0x4dad27
mov esi, edi
add esi, 0x15
mov ebp, 0x894d78
mov ebx, dword [eax]
test ebx, ebx
je 0x4dad10
push ebx
call fcn.00786b90
add esp, 4
mov edi, eax
push eax
push ebx
push esi
call fcn.00786d70
add esp, 0xc
mov byte [esi + edi], 0x2c
add esi, edi
inc esi
mov eax, dword [ebp]
add ebp, 4
test eax, eax
jne 0x4dace3
mov eax, dword [esp + 0x20]
add eax, 4
mov ebp, dword [esp + 0x98]
mov ebx, dword [esp + 0xa0]
jmp 0x4dad2c
mov eax, 4
add dword [esp], eax
mov esi, dword [esp + 4]
cmp dword [ebp + 0x3c], 0
je 0x4dad61
push esi
mov edi, dword [esp + 4]
push edi
call fcn.004e2fe0
add esp, 8
lea eax, [edi + 4]
push esi
push dword [ebp + 0x3c]
push eax
call fcn.00786d70
add esp, 0xc
add edi, esi
add edi, 4
mov dword [esp], edi
jmp 0x4dadd1
call fcn.004d9400
mov ebx, eax
push esi
push dword [esp + 4]
call fcn.004e2fe0
add esp, 8
mov ecx, 4
test ebx, ebx
je 0x4dadc7
mov eax, dword [ebx]
test eax, eax
je 0x4dadc7
mov ecx, dword [esp]
lea esi, [ecx + 4]
add ebx, 4
mov ebp, dword [eax]
test ebp, ebp
je 0x4dadb9
push ebp
call fcn.00786b90
add esp, 4
mov edi, eax
push eax
push ebp
push esi
call fcn.00786d70
add esp, 0xc
mov byte [esi + edi], 0x2c
add esi, edi
inc esi
mov eax, dword [ebx]
add ebx, 4
test eax, eax
jne 0x4dad8d
mov ecx, dword [esp + 4]
add ecx, 4
mov ebp, dword [esp + 0x98]
add dword [esp], ecx
mov ebx, dword [esp + 0xa0]
cmp dword [ebp + 0x130], 0
je 0x4dae09
mov esi, dword [esp + 8]
push esi
mov edi, dword [esp + 4]
push edi
call fcn.004e2fe0
add esp, 8
lea eax, [edi + 4]
push esi
push dword [ebp + 0x130]
push eax
call fcn.00786d70
add esp, 0xc
add edi, esi
add edi, 4
mov dword [esp], edi
jmp 0x4dae7c
call fcn.004f4610
mov ebx, eax
push dword [esp + 8]
push dword [esp + 4]
call fcn.004e2fe0
add esp, 8
mov ecx, 4
test ebx, ebx
je 0x4dae72
mov eax, dword [ebx]
test eax, eax
je 0x4dae72
mov ecx, dword [esp]
lea esi, [ecx + 4]
add ebx, 4
mov ebp, dword [eax]
test ebp, ebp
je 0x4dae64
push ebp
call fcn.00786b90
add esp, 4
mov edi, eax
push eax
push ebp
push esi
call fcn.00786d70
add esp, 0xc
mov byte [esi + edi], 0x2c
add esi, edi
inc esi
mov eax, dword [ebx]
add ebx, 4
test eax, eax
jne 0x4dae38
mov ecx, dword [esp + 8]
add ecx, 4
mov ebp, dword [esp + 0x98]
add dword [esp], ecx
mov ebx, dword [esp + 0xa0]
cmp dword [ebp + 0xf8], 0
je 0x4daeb4
mov esi, dword [esp + 0xc]
push esi
mov edi, dword [esp + 4]
push edi
call fcn.004e2fe0
add esp, 8
lea eax, [edi + 4]
push esi
push dword [ebp + 0xf8]
push eax
call fcn.00786d70
add esp, 0xc
add edi, esi
add edi, 4
mov dword [esp], edi
jmp 0x4daf27
call fcn.004f4610
mov edi, eax
push dword [esp + 0xc]
push dword [esp + 4]
call fcn.004e2fe0
add esp, 8
mov ecx, 4
test edi, edi
je 0x4daf24
mov eax, dword [edi]
test eax, eax
je 0x4daf24
mov ecx, dword [esp]
lea esi, [ecx + 4]
add edi, 4
mov ebp, dword [eax]
test ebp, ebp
je 0x4daf0f
push ebp
call fcn.00786b90
add esp, 4
mov ebx, eax
push eax
push ebp
push esi
call fcn.00786d70
add esp, 0xc
mov byte [esi + ebx], 0x2c
add esi, ebx
inc esi
mov eax, dword [edi]
add edi, 4
test eax, eax
jne 0x4daee3
mov ecx, dword [esp + 0xc]
add ecx, 4
mov ebp, dword [esp + 0x98]
mov ebx, dword [esp + 0xa0]
add dword [esp], ecx
cmp dword [ebp + 0x134], 0
je 0x4daf5f
mov esi, dword [esp + 0x10]
push esi
mov edi, dword [esp + 4]
push edi
call fcn.004e2fe0
add esp, 8
lea eax, [edi + 4]
push esi
push dword [ebp + 0x134]
push eax
call fcn.00786d70
add esp, 0xc
add edi, esi
add edi, 4
mov dword [esp], edi
jmp 0x4dafd2
call fcn.004e2960
mov edi, eax
push dword [esp + 0x10]
push dword [esp + 4]
call fcn.004e2fe0
add esp, 8
mov ecx, 4
test edi, edi
je 0x4dafcf
mov eax, dword [edi]
test eax, eax
je 0x4dafcf
mov ecx, dword [esp]
lea esi, [ecx + 4]
add edi, 4
mov ebp, dword [eax]
test ebp, ebp
je 0x4dafba
push ebp
call fcn.00786b90
add esp, 4
mov ebx, eax
push eax
push ebp
push esi
call fcn.00786d70
add esp, 0xc
mov byte [esi + ebx], 0x2c
add esi, ebx
inc esi
mov eax, dword [edi]
add edi, 4
test eax, eax
jne 0x4daf8e
mov ecx, dword [esp + 0x10]
add ecx, 4
mov ebp, dword [esp + 0x98]
mov ebx, dword [esp + 0xa0]
add dword [esp], ecx
cmp dword [ebp + 0xfc], 0
je 0x4db007
mov esi, dword [esp + 0x14]
push esi
mov edi, dword [esp + 4]
push edi
call fcn.004e2fe0
add esp, 8
lea eax, [edi + 4]
push esi
push dword [ebp + 0xfc]
push eax
call fcn.00786d70
add esp, 0xc
add esi, edi
add esi, 4
jmp 0x4db07a
call fcn.004e2960
mov edi, eax
push dword [esp + 0x14]
mov esi, dword [esp + 4]
push esi
call fcn.004e2fe0
add esp, 8
mov ecx, 4
test edi, edi
je 0x4db078
mov eax, dword [edi]
test eax, eax
je 0x4db078
add esi, 4
add edi, 4
mov ebp, dword [eax]
test ebp, ebp
je 0x4db060
push ebp
call fcn.00786b90
add esp, 4
mov ebx, eax
push eax
push ebp
push esi
call fcn.00786d70
add esp, 0xc
mov byte [esi + ebx], 0x2c
add esi, ebx
inc esi
mov eax, dword [edi]
add edi, 4
test eax, eax
jne 0x4db034
mov ecx, dword [esp + 0x14]
add ecx, 4
mov ebp, dword [esp + 0x98]
mov ebx, dword [esp + 0xa0]
mov esi, dword [esp]
add esi, ecx
cmp dword [ebp + 0x138], 0
je 0x4db0ad
mov edi, esi
mov esi, dword [esp + 0x18]
push esi
push edi
call fcn.004e2fe0
add esp, 8
lea eax, [edi + 4]
push esi
push dword [ebp + 0x138]
push eax
call fcn.00786d70
add esp, 0xc
add esi, edi
add esi, 4
jmp 0x4db123
push ebp
call fcn.004f45c0
add esp, 4
mov edi, eax
push dword [esp + 0x18]
push esi
call fcn.004e2fe0
add esp, 8
mov ecx, 4
test edi, edi
je 0x4db121
mov eax, dword [edi]
test eax, eax
je 0x4db121
mov dword [esp], esi
add esi, 4
add edi, 4
mov ebp, dword [eax]
test ebp, ebp
je 0x4db109
push ebp
call fcn.00786b90
add esp, 4
mov ebx, eax
push eax
push ebp
push esi
call fcn.00786d70
add esp, 0xc
mov byte [esi + ebx], 0x2c
add esi, ebx
inc esi
mov eax, dword [edi]
add edi, 4
test eax, eax
jne 0x4db0dd
mov ecx, dword [esp + 0x18]
add ecx, 4
mov ebp, dword [esp + 0x98]
mov ebx, dword [esp + 0xa0]
mov esi, dword [esp]
add esi, ecx
cmp dword [ebp + 0x100], 0
je 0x4db154
mov edi, dword [esp + 0x1c]
push edi
push esi
call fcn.004e2fe0
add esp, 8
lea eax, [esi + 4]
push edi
push dword [ebp + 0x100]
push eax
call fcn.00786d70
add esp, 0xc
add edi, esi
add edi, 4
jmp 0x4db1cc
push ebp
call fcn.004f45c0
add esp, 4
mov edi, eax
push dword [esp + 0x1c]
push esi
call fcn.004e2fe0
add esp, 8
mov ecx, 4
test edi, edi
je 0x4db1c8
mov eax, dword [edi]
test eax, eax
je 0x4db1c8
mov dword [esp], esi
add esi, 4
add edi, 4
mov ebp, dword [eax]
test ebp, ebp
je 0x4db1b0
push ebp
call fcn.00786b90
add esp, 4
mov ebx, eax
push eax
push ebp
push esi
call fcn.00786d70
add esp, 0xc
mov byte [esi + ebx], 0x2c
add esi, ebx
inc esi
mov eax, dword [edi]
add edi, 4
test eax, eax
jne 0x4db184
mov ecx, dword [esp + 0x1c]
add ecx, 4
mov ebp, dword [esp + 0x98]
mov ebx, dword [esp + 0xa0]
mov esi, dword [esp]
add esi, ecx
mov edi, esi
mov eax, dword [ebp + 0x13c]
mov dword [esp], eax
mov esi, dword [esp + 0x30]
push esi
push edi
call fcn.004e2fe0
add esp, 8
add edi, 4
cmp dword [esp], 0
je 0x4db1fe
push esi
push dword [ebp + 0x13c]
push edi
call fcn.00786d70
add esp, 0xc
add edi, esi
mov eax, dword [ebp + 0x104]
mov dword [esp], eax
mov esi, dword [esp + 0x34]
push esi
push edi
call fcn.004e2fe0
add esp, 8
add edi, 4
cmp dword [esp], 0
je 0x4db230
push esi
push dword [ebp + 0x104]
push edi
call fcn.00786d70
add esp, 0xc
add edi, esi
mov esi, dword [esp + 0x24]
mov byte [edi], 0
inc edi
push 0
push edi
call fcn.004e2fe0
add esp, 8
mov dword [ebp + 0x11428], 2
mov edi, dword [esp + 0x2c]
jmp 0x4da663
push 1
push edi
call fcn.004e3790
add esp, 8
test eax, eax
je 0x4dac3a
mov eax, dword [esp + 0x3c]
lea ecx, [eax + 1]
mov dword [esp + 0x3c], ecx
movzx eax, byte [eax]
mov dword [ebp + 0x54], eax
mov edx, dword [esp + 0x80]
mov ecx, ebp
push dword [esp + 0x5c]
push dword [esp + 0x80]
push dword [esp + 0x68]
call fcn.004db770
add esp, 0xc
test eax, eax
jne 0x4dac3a
lea edi, [ebp + 0x108]
mov edx, dword [esp + 0x78]
mov ecx, edi
push dword [esp + 0x58]
call fcn.004db920
add esp, 4
test eax, eax
jne 0x4dac3a
lea ebx, [ebp + 0xd0]
mov edx, dword [esp + 0x74]
mov ecx, ebx
push dword [esp + 0x54]
call fcn.004db920
add esp, 4
test eax, eax
jne 0x4dac3a
mov edx, dword [esp + 0x68]
mov ecx, edi
push dword [esp + 0x48]
call fcn.004dbaa0
add esp, 4
test eax, eax
jne 0x4dac3a
mov edx, dword [esp + 0x64]
mov ecx, ebx
push dword [esp + 0x44]
call fcn.004dbaa0
add esp, 4
test eax, eax
jne 0x4dac3a
mov ecx, ebp
mov edx, edi
push dword [esp + 0x50]
push dword [esp + 0x74]
call fcn.004dbc40
add esp, 8
test eax, eax
jne 0x4dac3a
mov ecx, ebp
mov edx, ebx
push dword [esp + 0x4c]
push dword [esp + 0x70]
call fcn.004dbc40
add esp, 8
test eax, eax
jne 0x4dac3a
mov ebx, esi
mov dword [esi], 5
mov ecx, dword [ebp + 0x50]
mov eax, 5
test ecx, ecx
sete dl
cmp eax, 5
setne dh
xor eax, eax
or dh, dl
je 0x4da5ca
mov ecx, dword [ebp + 0x10c]
test ecx, ecx
je 0x4db393
push ebp
push ecx
mov esi, eax
call dword [ebp + 0xc]
mov eax, esi
add esp, 8
mov dword [ebp + 0x10c], 0
mov ecx, dword [ebp + 0xd4]
test ecx, ecx
je 0x4db3b3
push ebp
push ecx
mov esi, eax
call dword [ebp + 0xc]
mov eax, esi
add esp, 8
mov dword [ebp + 0xd4], 0
and byte [ebp + 0x40], 0xf6
mov dword [ebx], 0
add esp, 0x84
pop esi
pop edi
pop ebx
pop ebp
ret