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

Disassembly:
push edi
push esi
push ebp
push ebx
sub esp, 0x160
mov edi, eax
lea ebp, [edi + 0x9618]
push ebp
call fcn.004adc4c
pop ecx
mov ebx, eax
cmp ebx, 0xff
jbe 0x4affdf
mov eax, 0x20000011
add esp, 0x160
pop ebx
pop ebp
pop esi
pop edi
ret
mov dword [esp + 0x18], ebx
push ebp
call fcn.004adc4c
pop ecx
mov dword [esp + 0x1c], eax
cmp eax, 0x1f
ja 0x4b001f
mov edx, dword [edi + 0x1f4]
lea esi, [eax + eax*4]
lea ecx, [esi + esi]
add ecx, ecx
add ecx, ecx
add ecx, ecx
sub ecx, esi
add ecx, ecx
add ecx, ecx
add ecx, ecx
sub ecx, eax
lea esi, [ecx + ecx]
add esi, esi
add esi, edx
cmp eax, dword [edx + ecx*4 + 0x3e8]
je 0x4b002f
mov eax, 0x20000012
add esp, 0x160
pop ebx
pop ebp
pop esi
pop edi
ret
mov dword [esp + 0x14], esi
push ebp
push 1
call fcn.004adbf0
mov dword [esp + 0x2c], eax
push ebp
push 1
call fcn.004adbf0
mov dword [esp + 0x30], eax
push ebp
call fcn.004adc4c
add esp, 0x14
test eax, eax
jbe 0x4b0068
mov eax, 0x2000001a
add esp, 0x160
pop ebx
pop ebp
pop esi
pop edi
ret
push ebp
call fcn.004adc4c
mov dword [esp + 0x2c], eax
push ebp
call fcn.004adc4c
add esp, 8
mov dword [esp + 0x2c], eax
mov edx, dword [esp + 0x28]
cmp edx, 0x1f
ja 0x4b04ee
cmp eax, 0x1f
jbe 0x4b00a1
mov eax, 0x20000017
add esp, 0x160
pop ebx
pop ebp
pop esi
pop edi
ret
push ebp
push 1
call fcn.004adbf0
mov dword [esp + 0x38], eax
push ebp
push 2
call fcn.004adbf0
add esp, 0x10
mov dword [esp + 0x34], eax
test eax, eax
jne 0x4b00c7
cmp dword [esp + 0x30], 0
je 0x4b00d7
mov eax, 0x2000001c
add esp, 0x160
pop ebx
pop ebp
pop esi
pop edi
ret
push ebp
call fcn.004adcf8
pop ecx
mov dword [esp + 0x38], eax
cmp eax, 0x19
jg 0x4b00ec
cmp eax, 0xffffffe6
jge 0x4b00fc
mov eax, 0x20000013
add esp, 0x160
pop ebx
pop ebp
pop esi
pop edi
ret
push ebp
call fcn.004adcf8
pop ecx
mov dword [esp + 0x3c], eax
cmp eax, 0x19
jg 0x4b0111
cmp eax, 0xffffffe6
jge 0x4b0121
mov eax, 0x20000014
add esp, 0x160
pop ebx
pop ebp
pop esi
pop edi
ret
push ebp
call fcn.004adcf8
pop ecx
mov dword [esp + 0x40], eax
cmp eax, 0xc
jg 0x4b0136
cmp eax, 0xfffffff4
jge 0x4b0146
mov eax, 0x20000015
add esp, 0x160
pop ebx
pop ebp
pop esi
pop edi
ret
push ebp
push 1
call fcn.004adbf0
mov dword [esp + 0x4c], eax
push ebp
push 1
call fcn.004adbf0
mov dword [esp + 0x58], eax
push ebp
push 1
call fcn.004adbf0
mov dword [esp + 0x64], eax
xor edx, edx
mov dword [esp + 0x68], edx
mov dword [esp + 0x6c], edx
mov ecx, dword [esp + 0x58]
mov dword [esp + 0x90], ecx
push ebp
call fcn.004addb4
add esp, 0x1c
test eax, eax
je 0x4b0438
push ebp
push 1
call fcn.004adbf0
mov dword [esp + 0x58], eax
push ebp
push 1
call fcn.004adbf0
add esp, 0x10
mov dword [esp + 0x54], eax
test eax, eax
je 0x4b041b
xor eax, eax
xor esi, esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov edi, eax
push ebp
push 1
call fcn.004adbf0
add esp, 8
mov dword [esp + edi*4 + 0x58], eax
cmp eax, 1
je 0x4b025e
test edi, edi
jne 0x4b0244
mov eax, dword [esp + 0x14]
mov edx, dword [eax + 0x400]
cmp edx, 1
je 0x4b0218
xor ecx, ecx
lea edx, [esp + 0x14]
lea edx, [edx + esi]
test edi, edi
jne 0x4b0202
movzx eax, byte [ecx + 0x5cf32c]
jmp 0x4b0209
movzx eax, byte [ecx + 0x5cf33c]
mov byte [edx + ecx + 0x68], al
inc ecx
cmp ecx, 0x10
jl 0x4b01f5
jmp 0x4b02d6
xor ebx, ebx
mov ecx, edi
shl ecx, 4
lea edx, [esp + 0x14]
lea edx, [edx + ecx]
jmp 0x4b022c
mov eax, dword [esp + 0x14]
movzx eax, byte [eax + ecx + 0x424]
mov byte [edx + ebx + 0x68], al
inc ecx
inc ebx
cmp ebx, 0x10
jl 0x4b0228
jmp 0x4b02d6
cmp edi, 3
je 0x4b01dd
lea ecx, [esp + esi + 0x6c]
lea edx, [esp + esi + 0x7b]
movzx eax, byte [ecx]
mov byte [ecx + 0x10], al
inc ecx
cmp edx, ecx
jae 0x4b0251
jmp 0x4b02d6
lea edx, [esp + 0x14]
lea edx, [edx + esi]
mov ebx, 8
mov ecx, 8
xor eax, eax
mov dword [esp], esi
mov dword [esp + 4], edi
mov dword [esp + 0x10], ebp
mov esi, eax
mov eax, ecx
mov ebp, edx
movzx edi, byte [esi + 0x57d240]
test eax, eax
je 0x4b02c1
mov ecx, dword [esp + 0x10]
push ecx
call fcn.004adcf8
pop ecx
lea eax, [ebx + eax + 0x100]
cdq
xor eax, edx
sub eax, edx
and eax, 0xff
xor eax, edx
sub eax, edx
test esi, esi
jne 0x4b02bb
test eax, eax
je 0x4b04fe
jmp 0x4b02bf
test eax, eax
je 0x4b02c1
mov ebx, eax
mov byte [edi + ebp + 0x68], bl
inc esi
cmp esi, 0x10
jl 0x4b0282
mov esi, dword [esp]
mov edi, dword [esp + 4]
mov ebp, dword [esp + 0x10]
add esi, 0x10
inc edi
cmp edi, 6
jl 0x4b01c1
mov ebx, dword [esp + 8]
mov edi, dword [esp + 0xc]
xor eax, eax
xor esi, esi
mov dword [esp + 8], ebx
mov dword [esp + 0xc], edi
mov ebx, eax
cmp dword [esp + 0x50], 0
jne 0x4b030c
xor eax, eax
mov dword [esp + ebx*4 + 0x70], 0
jmp 0x4b031b
push ebp
push 1
call fcn.004adbf0
add esp, 8
mov dword [esp + ebx*4 + 0x70], eax
cmp eax, 1
je 0x4b038b
mov eax, dword [esp + 0x14]
cmp dword [eax + 0x400], 0
jne 0x4b035f
xor edx, edx
lea ecx, [esp + 0x14]
lea edi, [ecx + esi]
xor ecx, ecx
test ebx, ebx
jne 0x4b0344
mov eax, dword [ecx + 0x5cf120]
jmp 0x4b034a
mov eax, dword [ecx + 0x5cf220]
mov byte [edi + edx + 0xc8], al
add ecx, 4
inc edx
cmp edx, 0x40
jl 0x4b0338
jmp 0x4b0406
xor edi, edi
mov ecx, ebx
shl ecx, 6
lea edx, [esp + 0x14]
lea edx, [edx + ecx]
jmp 0x4b0373
mov eax, dword [esp + 0x14]
movzx eax, byte [eax + ecx + 0x484]
mov byte [edx + edi + 0xc8], al
inc ecx
inc edi
cmp edi, 0x40
jl 0x4b036f
jmp 0x4b0406
lea edx, [esp + 0x14]
lea edi, [edx + esi]
mov eax, 8
mov ecx, 8
xor edx, edx
mov dword [esp + 4], esi
mov dword [esp], ebx
mov dword [esp + 0x10], ebp
mov ebx, eax
mov eax, ecx
mov ebp, edx
movzx esi, byte [ebp + 0x57d1c0]
test eax, eax
je 0x4b03ee
mov ecx, dword [esp + 0x10]
push ecx
call fcn.004adcf8
pop ecx
lea eax, [ebx + eax + 0x100]
cdq
xor eax, edx
sub eax, edx
and eax, 0xff
xor eax, edx
sub eax, edx
test ebp, ebp
jne 0x4b03e8
test eax, eax
je 0x4b0531
jmp 0x4b03ec
test eax, eax
je 0x4b03ee
mov ebx, eax
mov byte [esi + edi + 0xc8], bl
inc ebp
cmp ebp, 0x40
jl 0x4b03af
mov esi, dword [esp + 4]
mov ebx, dword [esp]
mov ebp, dword [esp + 0x10]
add esi, 0x40
inc ebx
cmp ebx, 2
jl 0x4b02f9
mov ebx, dword [esp + 8]
mov edi, dword [esp + 0xc]
push ebp
call fcn.004adcf8
pop ecx
mov dword [esp + 0x78], eax
cmp eax, 0xc
jg 0x4b0136
cmp eax, 0xfffffff4
jl 0x4b0136
cmp dword [esp + 0x54], 0
jne 0x4b049d
xor ecx, ecx
lea ebp, [esp + 0x14]
xor eax, eax
mov esi, ecx
mov edx, dword [esp + 0x14]
movzx edx, byte [edx + esi + 0x424]
mov byte [ebp + eax + 0x68], dl
inc esi
inc eax
cmp eax, 0x10
jl 0x4b0449
add ecx, 0x10
add ebp, 0x10
cmp ecx, 0x60
jl 0x4b0445
xor ecx, ecx
lea ebp, [esp + 0x14]
xor eax, eax
mov esi, ecx
mov edx, dword [esp + 0x14]
movzx edx, byte [edx + esi + 0x484]
mov byte [ebp + eax + 0xc8], dl
inc esi
inc eax
cmp eax, 0x40
jl 0x4b0475
add ecx, 0x40
add ebp, 0x40
cmp ecx, 0x80
jl 0x4b0471
mov dword [esp + 0x15c], 1
lea edx, [ebx + ebx]
add edx, edx
sub edx, ebx
lea eax, [edx + edx]
add eax, eax
add eax, eax
sub eax, edx
add eax, eax
add eax, eax
sub eax, ebx
add eax, eax
add eax, eax
add eax, dword [edi + 0x1f8]
mov edi, eax
lea esi, [esp + 0x14]
mov ecx, 0x14c
mov eax, ecx
shr ecx, 2
rep movsd dword es:[edi], dword [esi]
mov ecx, eax
and ecx, 3
rep movsb byte es:[edi], byte [esi]
xor eax, eax
add esp, 0x160
pop ebx
pop ebp
pop esi
pop edi
ret
mov eax, 0x20000016
add esp, 0x160
pop ebx
pop ebp
pop esi
pop edi
ret
mov edx, ebp
mov esi, dword [esp]
mov edi, dword [esp + 4]
mov ebp, dword [esp + 0x10]
xor ecx, ecx
cmp edi, 3
jge 0x4b051b
movzx eax, byte [ecx + 0x5cf32c]
jmp 0x4b0522
movzx eax, byte [ecx + 0x5cf33c]
mov byte [edx + ecx + 0x68], al
inc ecx
cmp ecx, 0x10
jl 0x4b050d
jmp 0x4b02d6
mov esi, dword [esp + 4]
mov ebx, dword [esp]
mov ebp, dword [esp + 0x10]
xor ecx, ecx
xor edx, edx
test ebx, ebx
jne 0x4b054c
mov eax, dword [edx + 0x5cf120]
jmp 0x4b0552
mov eax, dword [edx + 0x5cf220]
mov byte [edi + ecx + 0xc8], al
add edx, 4
inc ecx
cmp ecx, 0x40
jl 0x4b0540
jmp 0x4b0406