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

Disassembly:
push 0xffffffffffffffff
push 0x43a71f
mov eax, dword fs:[0]
push eax
mov dword fs:[0], esp
sub esp, 0xec
push ebx
push ebp
push esi
mov esi, dword [esp + 0x108]
push edi
mov edi, dword [esp + 0x110]
mov ebp, ecx
test edi, edi
mov dword [esp + 0x18], ebp
jne 0x4139d0
mov dword [esp + 0x110], esi
mov edi, esi
test esi, esi
je 0x4139d8
cmp esi, edi
jne 0x4139fb
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x114]
push eax
push ecx
mov ecx, dword [esp + 0x124]
call fcn.0040e980
mov al, 1
jmp 0x41417c
lea ecx, [esp + 0x3c]
call fcn.0040e290
cmp esi, 0x2714
mov dword [esp + 0x104], 0
jne 0x413bea
mov esi, dword [esp + 0x118]
mov edx, dword [esp + 0x114]
push esi
push edx
lea ecx, [esp + 0x44]
call fcn.0040e980
lea ecx, [esp + 0x3c]
call fcn.00404320
xor edi, edi
lea ecx, [esp + 0x7c]
mov ebx, eax
mov byte [esp + 0x13], 0
mov dword [esp + 0x14], edi
call fcn.00405600
xor ebp, ebp
mov byte [esp + 0x104], 1
test esi, esi
jbe 0x413b64
mov al, byte [esp + 0x13]
test al, al
mov al, byte [ebx + ebp]
jne 0x413a91
cmp al, 0x20
jb 0x413af2
and eax, 0xff
mov ecx, dword [eax*4 + 0x446cf8]
test ecx, ecx
je 0x413af2
mov byte [esp + 0x13], 1
mov dword [esp + 0x14], ebp
mov edi, ebp
jmp 0x413af2
cmp al, 0x20
jb 0x413aa5
and eax, 0xff
mov ecx, dword [eax*4 + 0x446cf8]
test ecx, ecx
jne 0x413af2
mov esi, ebp
sub esi, edi
cmp esi, 1
jle 0x413ae6
lea ecx, [esp + 0x7c]
call fcn.00404700
add edi, ebx
push esi
push edi
lea ecx, [esp + 0x84]
call fcn.00405230
lea ecx, [esp + 0x7c]
dec esi
call fcn.00404320
test esi, esi
jl 0x413ae2
mov ecx, edi
mov dl, byte [eax + esi]
dec esi
mov byte [ecx], dl
inc ecx
test esi, esi
jge 0x413ad7
mov edi, dword [esp + 0x14]
mov esi, dword [esp + 0x118]
mov byte [esp + 0x13], 0
mov al, byte [ebx + ebp]
cmp al, 0xb0
jb 0x413afd
cmp al, 0xb9
jbe 0x413b11
cmp al, 0xa0
jb 0x413b85
cmp al, 0xaf
ja 0x413b85
cmp al, 0xac
je 0x413b16
cmp al, 0xa5
je 0x413b16
add al, 0x80
mov byte [ebx + ebp], al
inc ebp
cmp ebp, esi
jb 0x413a65
mov al, byte [esp + 0x13]
test al, al
je 0x413b64
sub ebp, edi
mov esi, ebp
cmp esi, 1
jle 0x413b64
lea ecx, [esp + 0x7c]
call fcn.00404700
add edi, ebx
push esi
push edi
lea ecx, [esp + 0x84]
call fcn.00405230
lea ecx, [esp + 0x7c]
dec esi
call fcn.00404320
test esi, esi
jl 0x413b64
mov ecx, edi
mov dl, byte [eax + esi]
dec esi
mov byte [ecx], dl
inc ecx
test esi, esi
jge 0x413b59
lea ecx, [esp + 0x3c]
call fcn.00404320
lea ecx, [esp + 0x7c]
mov esi, eax
mov byte [esp + 0x104], 0
call fcn.004056c0
jmp 0x413d67
cmp al, 0xba
je 0x413b11
cmp al, 0xbc
je 0x413b11
cmp al, 0xbd
je 0x413b11
cmp al, 0xbe
je 0x413b11
cmp al, 0xdb
je 0x413b11
cmp al, 0xdc
je 0x413b11
cmp al, 0xdd
je 0x413b11
cmp al, 0xde
je 0x413b11
cmp al, 0xdf
je 0x413b11
cmp al, 0xfb
je 0x413b11
cmp al, 0xfc
je 0x413b11
cmp al, 0xfd
je 0x413b11
cmp al, 0x81
jne 0x413b16
mov byte [ebx + ebp], 0xa0
jmp 0x413b16
cmp esi, 0xc42c
jl 0x413cab
cmp esi, 0xc42e
jg 0x413cab
lea ecx, [esp + 0x14]
call fcn.00426840
lea ecx, [esp + 0x1c]
mov byte [esp + 0x104], 2
call fcn.0040e290
mov ecx, dword [esp + 0x118]
mov edx, dword [esp + 0x114]
lea eax, [esp + 0x1c]
mov byte [esp + 0x104], 3
push eax
push ecx
push edx
lea ecx, [esp + 0x20]
call fcn.00427210
lea ecx, [esp + 0x1c]
mov bl, 1
call fcn.0040dda0
test eax, eax
je 0x413c84
mov eax, dword [esp + 0x120]
mov ecx, dword [esp + 0x11c]
push eax
push ecx
lea ecx, [esp + 0x24]
call fcn.0040dda0
push eax
lea ecx, [esp + 0x28]
call fcn.00404320
push eax
push edi
push 0x3a4
mov ecx, ebp
call fcn.00413990
mov bl, al
lea ecx, [esp + 0x1c]
mov byte [esp + 0x104], 2
call fcn.0040e440
lea ecx, [esp + 0x14]
mov byte [esp + 0x104], 0
call fcn.00426870
jmp 0x414166
cmp esi, 0xc431
jne 0x413d60
lea ecx, [esp + 0x14]
call fcn.00426560
lea ecx, [esp + 0x1c]
mov byte [esp + 0x104], 4
call fcn.0040e290
mov eax, dword [esp + 0x118]
mov ecx, dword [esp + 0x114]
lea edx, [esp + 0x1c]
mov byte [esp + 0x104], 5
push edx
push eax
push ecx
lea ecx, [esp + 0x20]
call fcn.004265a0
lea ecx, [esp + 0x1c]
mov bl, 1
call fcn.0040dda0
test eax, eax
je 0x413d39
mov edx, dword [esp + 0x120]
mov eax, dword [esp + 0x11c]
push edx
push eax
lea ecx, [esp + 0x24]
call fcn.0040dda0
push eax
lea ecx, [esp + 0x28]
call fcn.00404320
push eax
push edi
push 0x3b5
mov ecx, ebp
call fcn.00413990
mov bl, al
lea ecx, [esp + 0x1c]
mov byte [esp + 0x104], 4
call fcn.0040e440
lea ecx, [esp + 0x14]
mov byte [esp + 0x104], 0
call fcn.00426590
jmp 0x414166
mov esi, dword [esp + 0x114]
mov edi, dword [esp + 0x18]
mov ebp, dword [esp + 0x110]
mov ebx, dword [esp + 0x10c]
cmp ebp, 0xfde8
mov byte [edi + 0x81], 0
mov dword [edi + 0x78], ebx
mov dword [edi + 0x7c], ebp
jne 0x413e1d
lea ecx, [esp + 0x1c]
call fcn.0040e290
mov ecx, dword [esp + 0x120]
mov eax, dword [esp + 0x118]
lea edx, [esp + 0x1c]
push ecx
push edx
push eax
push esi
push 0x4b0
push ebx
mov ecx, edi
mov byte [esp + 0x11c], 6
call fcn.004141a0
test al, al
jne 0x413df5
lea ecx, [esp + 0x1c]
mov byte [esp + 0x104], al
call fcn.0040e440
lea ecx, [esp + 0x3c]
mov dword [esp + 0x104], 0xffffffff
call fcn.0040e440
xor al, al
jmp 0x41417c
mov ecx, dword [esp + 0x11c]
lea edx, [esp + 0x1c]
push ecx
push edx
call fcn.00427510
add esp, 8
mov bl, al
mov byte [esp + 0x104], 0
lea ecx, [esp + 0x1c]
jmp 0x414161
cmp ebp, 0xfded
je 0x4140c2
cmp ebp, 0xfdee
je 0x4140c2
cmp ebp, 0x4b1
jne 0x413f3f
lea ecx, [esp + 0x1c]
mov dword [edi + 0x7c], 0x4b0
call fcn.0040e290
mov eax, dword [esp + 0x120]
mov edx, dword [esp + 0x118]
lea ecx, [esp + 0x1c]
push eax
push ecx
push edx
push esi
push 0x4b0
push ebx
mov ecx, edi
mov byte [esp + 0x11c], 8
call fcn.004141a0
lea ecx, [esp + 0x1c]
call fcn.0040dda0
mov esi, eax
shr esi, 1
je 0x413f13
lea ecx, [esp + 0x1c]
call fcn.00404320
test eax, eax
je 0x413f13
lea eax, [esi + esi + 4]
lea ebp, [esi + esi]
push eax
call fcn.0040fc70
mov edi, eax
add esp, 4
test edi, edi
jne 0x413edd
lea ecx, [esp + 0x1c]
mov byte [esp + 0x104], al
call fcn.0040e440
lea ecx, [esp + 0x3c]
mov dword [esp + 0x104], 0xffffffff
call fcn.0040e440
xor al, al
jmp 0x41417c
lea ecx, [esp + 0x1c]
call fcn.00404320
mov ecx, edi
mov dl, byte [eax + 1]
add eax, 2
mov byte [ecx], dl
mov dl, byte [eax - 2]
mov byte [ecx + 1], dl
add ecx, 2
dec esi
jne 0x413ee8
mov ecx, dword [esp + 0x11c]
push ebp
push edi
call fcn.0040e980
push edi
call fcn.0042f346
add esp, 4
lea ecx, [esp + 0x1c]
mov byte [esp + 0x104], 0
call fcn.0040e440
lea ecx, [esp + 0x3c]
mov dword [esp + 0x104], 0xffffffff
call fcn.0040e440
mov al, 1
jmp 0x41417c
cmp ebp, 0xc42c
jl 0x413ff2
cmp ebp, 0xc42e
jg 0x413ff2
lea ecx, [esp + 0x1c]
call fcn.0040e290
mov eax, dword [esp + 0x120]
mov edx, dword [esp + 0x118]
lea ecx, [esp + 0x1c]
push eax
push ecx
push edx
push esi
push 0x3a4
push ebx
mov ecx, edi
mov byte [esp + 0x11c], 9
call fcn.004141a0
lea ecx, [esp + 0x1c]
mov bl, al
call fcn.0040dda0
test eax, eax
je 0x413fe1
lea ecx, [esp + 0x14]
call fcn.00426840
mov eax, dword [esp + 0x11c]
lea ecx, [esp + 0x1c]
push eax
mov byte [esp + 0x108], 0xa
call fcn.0040dda0
push eax
lea ecx, [esp + 0x24]
call fcn.00404320
push eax
lea ecx, [esp + 0x20]
call fcn.00426a40
lea ecx, [esp + 0x14]
mov byte [esp + 0x104], 9
call fcn.00426870
mov byte [esp + 0x104], 0
lea ecx, [esp + 0x1c]
jmp 0x414161
cmp ebp, 0xc431
jne 0x414099
lea ecx, [esp + 0x5c]
call fcn.0040e290
mov ecx, dword [esp + 0x120]
mov eax, dword [esp + 0x118]
lea edx, [esp + 0x5c]
push ecx
push edx
push eax
push esi
push 0x3b5
push ebx
mov ecx, edi
mov byte [esp + 0x11c], 0xb
call fcn.004141a0
lea ecx, [esp + 0x5c]
mov bl, al
call fcn.0040dda0
test eax, eax
je 0x414088
lea ecx, [esp + 0x18]
call fcn.00426560
mov ecx, dword [esp + 0x11c]
mov byte [esp + 0x104], 0xc
push ecx
lea ecx, [esp + 0x60]
call fcn.0040dda0
push eax
lea ecx, [esp + 0x64]
call fcn.00404320
push eax
lea ecx, [esp + 0x24]
call fcn.004266d0
lea ecx, [esp + 0x18]
mov byte [esp + 0x104], 0xb
call fcn.00426590
mov byte [esp + 0x104], 0
lea ecx, [esp + 0x5c]
jmp 0x414161
mov edx, dword [esp + 0x120]
mov eax, dword [esp + 0x11c]
mov ecx, dword [esp + 0x118]
push edx
push eax
push ecx
push esi
push ebp
push ebx
mov ecx, edi
call fcn.004141a0
mov bl, al
jmp 0x414166
lea ecx, [esp + 0x1c]
call fcn.0040e290
mov edx, dword [esp + 0x120]
mov ecx, dword [esp + 0x118]
lea eax, [esp + 0x1c]
push edx
push eax
push ecx
push esi
push 0xfde9
push ebx
mov ecx, edi
mov byte [esp + 0x11c], 7
call fcn.004141a0
test al, al
jne 0x414122
lea ecx, [esp + 0x1c]
mov byte [esp + 0x104], al
call fcn.0040e440
lea ecx, [esp + 0x3c]
mov dword [esp + 0x104], 0xffffffff
call fcn.0040e440
xor al, al
jmp 0x41417c
cmp ebp, 0xfded
jne 0x41413e
mov edx, dword [esp + 0x11c]
lea eax, [esp + 0x1c]
push edx
push eax
call fcn.00425a90
jmp 0x414150
mov ecx, dword [esp + 0x11c]
lea edx, [esp + 0x1c]
push ecx
push edx
call fcn.00425be0
add esp, 8
mov bl, al
mov byte [esp + 0x104], 0
lea ecx, [esp + 0x1c]
call fcn.0040e440
lea ecx, [esp + 0x3c]
mov dword [esp + 0x104], 0xffffffff
call fcn.0040e440
mov al, bl
mov ecx, dword [esp + 0xfc]
pop edi
pop esi
pop ebp
pop ebx
mov dword fs:[0], ecx
add esp, 0xf8
ret 0x18