Function at 0x46c6e0
Capabilities:
Contain obfuscated stackstrings

Disassembly:
push ebp
mov ebp, esp
push 0xffffffffffffffff
push 0x58f355
mov eax, dword fs:[0]
push eax
mov eax, 0x1864
call fcn.0053f970
mov eax, dword [0x600f80]
xor eax, ebp
mov dword [ebp - 0x10], eax
push ebx
push esi
push edi
push eax
lea eax, [ebp - 0xc]
mov dword fs:[0], eax
mov dword [ebp - 0xcf8], edx
mov edi, ecx
mov ebx, dword [ebp + 8]
mov esi, dword [ebp + 0xc]
mov dword [ebp - 0xd04], edi
mov dword [ebp - 0xd00], 0
mov dword [ebp - 4], 0xa
push 0
mov dword [edi + 0x14], 0xf
mov dword [edi + 0x10], 0
push 0x5dbe89
mov byte [edi], 0
call fcn.004085a0
push 0
push 0x5dbe89
lea ecx, [ebp - 0x98c]
mov dword [ebp - 0xd00], 1
mov dword [ebp - 0x978], 0xf
mov dword [ebp - 0x97c], 0
mov byte [ebp - 0x98c], 0
call fcn.004085a0
mov dword [ebp - 0x990], 0xf
mov dword [ebp - 0x994], 0
mov byte [ebp - 0x9a4], 0
xorps xmm0, xmm0
mov dword [ebp - 0x96c], 0
movq qword [ebp - 0x974], xmm0
mov dword [ebp - 0xcfc], 0x553
mov dword [ebp - 0x974], 0
mov dword [ebp - 0x970], 0
mov dword [ebp - 0x96c], 0
mov byte [ebp - 4], 0xd
lea ecx, [ebp - 0x9bc]
push 0
push 0x5dbe89
mov dword [ebp - 0x9a8], 0xf
mov dword [ebp - 0x9ac], 0
mov byte [ebp - 0x9bc], 0
call fcn.004085a0
push 1
sub esp, 0xc
mov byte [ebp - 4], 0xe
mov edx, 0x5dc6a0
mov ecx, esp
call fcn.004299b0
lea edx, [ebp + 0x28]
lea ecx, [ebp - 0x974]
call fcn.00429a10
mov ecx, dword [ebp - 0x970]
mov eax, 0x2aaaaaab
sub ecx, dword [ebp - 0x974]
add esp, 0x10
imul ecx
sar edx, 2
mov eax, edx
shr eax, 0x1f
add eax, edx
cmp eax, 0xa
jbe 0x46c87b
mov eax, dword [ebp - 0x974]
lea ecx, [ebp - 0x9bc]
add eax, 0xf0
cmp ecx, eax
je 0x46c87b
push 0xffffffffffffffff
push 0
push eax
call fcn.004083b0
cmp dword [ebp - 0xcf8], 6
je 0x46c8ca
sub esp, 0x18
lea eax, [ebp + 0x28]
mov ecx, esp
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.004083b0
sub esp, 8
lea eax, [ebp + 0x58]
mov ecx, esp
push eax
mov dword [ecx], 0
mov dword [ecx + 4], 0
call fcn.00429b90
call fcn.004780d0
add esp, 0x20
lea ecx, [ebp - 0x410]
call fcn.0048fe67
mov eax, dword [ebp - 0xcf8]
dec eax
cmp eax, 5
ja case.default.0x46c8e5
jmp dword [eax*4 + 0x46e1c4]
sub esp, 8
lea eax, [ebp + 0x60]
mov ecx, esp
push eax
mov dword [ecx], 0
mov dword [ecx + 4], 0
call fcn.00429b90
mov ecx, esi
call fcn.0046c570
add esp, 8
jmp case.default.0x46c8e5
sub esp, 8
lea eax, [ebp + 0x60]
mov ecx, esp
push eax
mov dword [ecx], 0
mov dword [ecx + 4], 0
call fcn.00429b90
mov ecx, esi
call fcn.0046c110
add esp, 8
call fcn.00483100
test al, al
je 0x46c95f
mov edx, 0x5e24a0
lea ecx, [ebp - 0x9bc]
call fcn.00429ae0
test al, al
je 0x46c95f
mov ecx, esi
call fcn.0046c4c0
push 0x12c
call dword [sym.imp.KERNEL32.dll_Sleep]
sub esp, 8
lea eax, [ebp + 0x68]
mov ecx, esp
push eax
mov dword [ecx], 0
mov dword [ecx + 4], 0
call fcn.00429b90
mov ecx, dword [ebp + 0x40]
call fcn.004701a0
mov eax, ebx
dec eax
je 0x46ca8e
dec eax
je 0x46c9b8
dec eax
jne 0x46cab1
sub esp, 8
mov ecx, esp
mov dword [ecx], eax
mov dword [ecx + 4], eax
lea eax, [ebp + 0x58]
push eax
call fcn.00429b90
jmp 0x46caa9
sub esp, 8
lea eax, [ebp + 0x60]
mov ecx, esp
push eax
mov dword [ecx], 0
mov dword [ecx + 4], 0
call fcn.00429b90
mov ecx, dword [ebp + 0x40]
call fcn.004701a0
sub esp, 8
lea eax, [ebp + 0x50]
mov ecx, esp
push eax
mov dword [ecx], 0
mov dword [ecx + 4], 0
call fcn.00429b90
mov ecx, dword [ebp + 0x40]
call fcn.004701a0
sub esp, 8
lea eax, [ebp + 0x58]
mov ecx, esp
push eax
mov dword [ecx], 0
mov dword [ecx + 4], 0
call fcn.00429b90
mov ecx, dword [ebp + 0x40]
call fcn.004701a0
call fcn.00425ba2
cmp eax, 7
jl 0x46ca71
sub esp, 8
lea eax, [ebp + 0x70]
mov ecx, esp
push eax
mov dword [ecx], 0
mov dword [ecx + 4], 0
call fcn.00429b90
mov ecx, dword [ebp + 0x40]
call fcn.004701a0
sub esp, 8
lea eax, [ebp + 0x78]
mov ecx, esp
push eax
mov dword [ecx], 0
mov dword [ecx + 4], 0
call fcn.00429b90
mov ecx, dword [ebp + 0x40]
call fcn.004701a0
sub esp, 8
lea eax, [ebp + 0x48]
mov ecx, esp
push eax
mov dword [ecx], 0
mov dword [ecx + 4], 0
call fcn.00429b90
jmp 0x46caa9
sub esp, 8
lea eax, [ebp + 0x60]
mov ecx, esp
push eax
mov dword [ecx], 0
mov dword [ecx + 4], 0
call fcn.00429b90
mov ecx, dword [ebp + 0x40]
call fcn.004701a0
lea ecx, [ebp - 0xcf0]
mov dword [ebp - 0xa58], 0x41
mov word [ebp - 0xa54], 0
call fcn.004769d0
lea eax, [ebp - 0xcdb]
push eax
lea ecx, [ebp - 0x9d4]
call fcn.00407be0
lea eax, [ebp - 0xc9a]
mov byte [ebp - 4], 0xf
push eax
lea ecx, [ebp - 0x9ec]
call fcn.00407be0
mov byte [ebp - 4], 0x10
cmp dword [ebp - 0x9c4], 0
jne 0x46cb14
push str.none
lea ecx, [ebp - 0x9d4]
call fcn.00407ce0
cmp dword [ebp - 0x9dc], 0
jne 0x46cb2d
push str.none
lea ecx, [ebp - 0x9ec]
call fcn.00407ce0
sub esp, 0x18
lea eax, [ebp + 0x28]
mov ecx, esp
push 0xffffffffffffffff
push 0
mov dword [ecx + 0x14], 0xf
mov dword [ecx + 0x10], 0
push eax
mov byte [ecx], 0
call fcn.004083b0
call fcn.00477530
add esp, 0x18
lea ecx, [ebp - 0x186c]
mov edx, 2
call fcn.00425df0
mov esi, eax
lea eax, [ebp - 0x183c]
mov byte [ebp - 4], 0x11
push eax
call fcn.0046e1e0
push eax
mov edx, edi
mov byte [ebp - 4], 0x12
lea ecx, [ebp - 0x180c]
call fcn.00433ed0
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 0x13
lea ecx, [ebp - 0x11f4]
call fcn.0041ba80
add esp, 4
mov ecx, edi
push eax
call fcn.004205c0
lea ecx, [ebp - 0x11f4]
call fcn.00407cb0
lea ecx, [ebp - 0x180c]
call fcn.00407cb0
lea ecx, [ebp - 0x183c]
call fcn.00407cb0
lea ecx, [ebp - 0x186c]
mov byte [ebp - 4], 0x10
call fcn.00407cb0
lea eax, [ebp - 0xda4]
push eax
call fcn.0046e290
push eax
mov edx, edi
mov byte [ebp - 4], 0x14
lea ecx, [ebp - 0x15b4]
call fcn.00433ed0
add esp, 4
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x15
push ecx
mov edx, eax
lea ecx, [ebp - 0xd74]
call fcn.00420980
add esp, 4
mov ecx, edi
push eax
call fcn.004205c0
lea ecx, [ebp - 0xd74]
call fcn.00407cb0
lea ecx, [ebp - 0x15b4]
call fcn.00407cb0
lea ecx, [ebp - 0xda4]
mov byte [ebp - 4], 0x10
call fcn.00407cb0
lea ecx, [ebp - 0x1314]
lea esi, [ebp - 0x9a4]
call fcn.00452000
mov byte [ebp - 4], 0x16
cmp dword [eax + 0x14], 0x10
jb 0x46cc5f
mov eax, dword [eax]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00407be0
mov ecx, esi
call fcn.0047e340
add esp, 0x18
mov byte [ebp - 4], 0x10
lea ecx, [ebp - 0x1314]
call fcn.00407cb0
lea eax, [ebp - 0xe04]
push eax
call fcn.0046e360
push eax
mov edx, edi
mov byte [ebp - 4], 0x17
lea ecx, [ebp - 0x17c4]
call fcn.00433ed0
add esp, 4
lea ecx, [ebp - 0x9a4]
mov byte [ebp - 4], 0x18
push ecx
mov edx, eax
lea ecx, [ebp - 0xdd4]
call fcn.00420980
add esp, 4
mov ecx, edi
push eax
call fcn.004205c0
lea ecx, [ebp - 0xdd4]
call fcn.00407cb0
lea ecx, [ebp - 0x17c4]
call fcn.00407cb0
lea ecx, [ebp - 0xe04]
mov byte [ebp - 4], 0x10
call fcn.00407cb0
lea eax, [ebp - 0x15e4]
push eax
call fcn.0046e410
push eax
mov edx, edi
mov byte [ebp - 4], 0x19
lea ecx, [ebp - 0xe34]
call fcn.00433ed0
add esp, 4
lea ecx, [ebp - 0x9d4]
mov byte [ebp - 4], 0x1a
push ecx
mov edx, eax
lea ecx, [ebp - 0x1344]
call fcn.00420980
add esp, 4
mov ecx, edi
push eax
call fcn.004205c0
lea ecx, [ebp - 0x1344]
call fcn.00407cb0
lea ecx, [ebp - 0xe34]
call fcn.00407cb0
lea ecx, [ebp - 0x15e4]
mov byte [ebp - 4], 0x10
call fcn.00407cb0
lea eax, [ebp - 0xe94]
push eax
call fcn.0046e4e0
push eax
mov edx, edi
mov byte [ebp - 4], 0x1b
lea ecx, [ebp - 0x1374]
call fcn.00433ed0
add esp, 4
lea ecx, [ebp - 0x9ec]
mov byte [ebp - 4], 0x1c
push ecx
mov edx, eax
lea ecx, [ebp - 0xe64]
call fcn.00420980
add esp, 4
mov ecx, edi
push eax
call fcn.004205c0
lea ecx, [ebp - 0xe64]
call fcn.00407cb0
lea ecx, [ebp - 0x1374]
call fcn.00407cb0
lea ecx, [ebp - 0xe94]
mov byte [ebp - 4], 0x10
call fcn.00407cb0
lea eax, [ebp - 0x13a4]
push eax
call fcn.0046e5b0
push eax
mov edx, edi
mov byte [ebp - 4], 0x1d
lea ecx, [ebp - 0xec4]
call fcn.00433ed0
add esp, 4
lea ecx, [ebp - 0xcf0]
mov byte [ebp - 4], 0x1e
push ecx
mov edx, eax
lea ecx, [ebp - 0x1734]
call fcn.00408ab0
add esp, 4
mov ecx, edi
push eax
call fcn.004205c0
lea ecx, [ebp - 0x1734]
call fcn.00407cb0
lea ecx, [ebp - 0xec4]
call fcn.00407cb0
lea ecx, [ebp - 0x13a4]
mov byte [ebp - 4], 0x10
call fcn.00407cb0
push str.0123465789012345678912
lea ecx, [ebp - 0xd1c]
call fcn.00407be0
lea eax, [ebp - 0xd1c]
mov byte [ebp - 4], 0x1f
push eax
lea eax, [ebp - 0x13d4]
push eax
call fcn.0043d740
mov esi, eax
lea eax, [ebp - 0xf24]
mov byte [ebp - 4], 0x20
push eax
call fcn.0046e680
push eax
mov edx, edi
mov byte [ebp - 4], 0x21
lea ecx, [ebp - 0x1614]
call fcn.00433ed0
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 0x22
lea ecx, [ebp - 0xef4]
call fcn.0041ba80
add esp, 4
mov ecx, edi
push eax
call fcn.004205c0
lea ecx, [ebp - 0xef4]
call fcn.00407cb0
lea ecx, [ebp - 0x1614]
call fcn.00407cb0
lea ecx, [ebp - 0xf24]
call fcn.00407cb0
lea ecx, [ebp - 0x13d4]
call fcn.00407cb0
lea ecx, [ebp - 0xd1c]
mov byte [ebp - 4], 0x10
call fcn.00407cb0
lea eax, [ebp - 0x1824]
push eax
call fcn.0046e730
push eax
mov edx, edi
mov byte [ebp - 4], 0x23
lea ecx, [ebp - 0xf54]
call fcn.00433ed0
add esp, 4
mov ecx, edi
push eax
call fcn.004205c0
lea ecx, [ebp - 0xf54]
call fcn.00407cb0
lea ecx, [ebp - 0x1824]
mov byte [ebp - 4], 0x10
call fcn.00407cb0
push 0x553
lea eax, [ebp - 0x968]
push 0
push eax
call fcn.00540250
add esp, 4
lea eax, [ebp + 0x60]
mov ecx, esp
push eax
mov dword [ecx], 0
mov dword [ecx + 4], 0
call fcn.00429b90
lea eax, [ebp - 0xcfc]
mov edx, 0x553
push eax
lea ecx, [ebp - 0x968]
call fcn.004883a0
add esp, 0xc
lea eax, [ebp - 0x968]
lea ecx, [ebp - 0xa34]
push eax
call fcn.00407be0
lea eax, [ebp - 0xa34]
mov byte [ebp - 4], 0x24
push eax
mov edx, edi
lea ecx, [ebp - 0xf84]
call fcn.004207d0
add esp, 4
mov ecx, edi
push eax
call fcn.004205c0
lea ecx, [ebp - 0xf84]
call fcn.00407cb0
lea ecx, [ebp - 0x1404]
call fcn.00487b00
push eax
lea ecx, [ebp - 0x98c]
call fcn.004205c0
lea ecx, [ebp - 0x1404]
call fcn.00407cb0
mov eax, dword [ebp - 0x97c]
test eax, eax
je 0x46d03b
cmp eax, 0x104
jae 0x46d03b
lea eax, [ebp - 0xfe4]
push eax
call fcn.0046e7e0
push eax
mov edx, edi
mov byte [ebp - 4], 0x25
lea ecx, [ebp - 0x1644]
call fcn.00433ed0
add esp, 4
mov byte [ebp - 4], 0x26
lea ecx, [ebp - 0x98c]
cmp dword [ebp - 0x978], 0x10
mov edx, eax
cmovae ecx, dword [ebp - 0x98c]
push ecx
lea ecx, [ebp - 0xfb4]
call fcn.00408ab0
add esp, 4
mov ecx, edi
push eax
call fcn.004205c0
lea ecx, [ebp - 0xfb4]
call fcn.00407cb0
lea ecx, [ebp - 0x1644]
call fcn.00407cb0
lea ecx, [ebp - 0xfe4]
jmp 0x46d075
lea eax, [ebp - 0x1014]
push eax
call fcn.0046e890
push eax
mov edx, edi
mov byte [ebp - 4], 0x27
lea ecx, [ebp - 0x1434]
call fcn.00433ed0
add esp, 4
mov ecx, edi
push eax
call fcn.004205c0
lea ecx, [ebp - 0x1434]
call fcn.00407cb0
lea ecx, [ebp - 0x1014]
mov byte [ebp - 4], 0x24
call fcn.00407cb0
push 0x5e2490
lea ecx, [ebp - 0xa04]
call fcn.00407be0
push 0x5e2490
lea ecx, [ebp - 0xa4c]
mov byte [ebp - 4], 0x28
call fcn.00407be0
push 0x5e2490
lea ecx, [ebp - 0xa1c]
mov byte [ebp - 4], 0x29
call fcn.00407be0
lea eax, [ebp - 0x1464]
mov byte [ebp - 4], 0x2a
push eax
call fcn.0046e960
push eax
mov edx, edi
mov byte [ebp - 4], 0x2b
lea ecx, [ebp - 0x1044]
call fcn.00433ed0
add esp, 4
lea ecx, [ebp - 0xa04]
mov byte [ebp - 4], 0x2c
push ecx
mov edx, eax
lea ecx, [ebp - 0x1764]
call fcn.00420980
add esp, 4
mov ecx, edi
push eax
call fcn.004205c0
lea ecx, [ebp - 0x1764]
call fcn.00407cb0
lea ecx, [ebp - 0x1044]
call fcn.00407cb0
lea ecx, [ebp - 0x1464]
mov byte [ebp - 4], 0x2a
call fcn.00407cb0
lea eax, [ebp - 0x10a4]
push eax
call fcn.0046ea10
push eax
mov edx, edi
mov byte [ebp - 4], 0x2d
lea ecx, [ebp - 0x1674]
call fcn.00433ed0
add esp, 4
lea ecx, [ebp - 0xa4c]
mov byte [ebp - 4], 0x2e
push ecx
mov edx, eax
lea ecx, [ebp - 0x1074]
call fcn.00420980
add esp, 4
mov ecx, edi
push eax
call fcn.004205c0
lea ecx, [ebp - 0x1074]
call fcn.00407cb0
lea ecx, [ebp - 0x1674]
call fcn.00407cb0
lea ecx, [ebp - 0x10a4]
mov byte [ebp - 4], 0x2a
call fcn.00407cb0
lea eax, [ebp - 0x17f4]
push eax
call fcn.0046eac0
mov byte [ebp - 4], 0x2f
lea ecx, [ebp - 0x10d4]
push eax
mov edx, edi
call fcn.00433ed0
add esp, 4
lea ecx, [ebp - 0xa1c]
mov byte [ebp - 4], 0x30
push ecx
mov edx, eax
lea ecx, [ebp - 0x1494]
call fcn.00420980
add esp, 4
mov ecx, edi
push eax
call fcn.004205c0
lea ecx, [ebp - 0x1494]
call fcn.00407cb0
lea ecx, [ebp - 0x10d4]
call fcn.00407cb0
lea ecx, [ebp - 0x17f4]
mov byte [ebp - 4], 0x2a
call fcn.00407cb0
lea eax, [ebp - 0x410]
push eax
lea ecx, [ebp - 0x16a4]
call fcn.00407be0
mov esi, eax
lea eax, [ebp - 0x1134]
mov byte [ebp - 4], 0x31
push eax
call fcn.0046eb70
push eax
mov edx, edi
mov byte [ebp - 4], 0x32
lea ecx, [ebp - 0x14c4]
call fcn.00433ed0
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 0x33
lea ecx, [ebp - 0x1104]
call fcn.0041ba80
add esp, 4
mov ecx, edi
push eax
call fcn.004205c0
lea ecx, [ebp - 0x1104]
call fcn.00407cb0
lea ecx, [ebp - 0x14c4]
call fcn.00407cb0
lea ecx, [ebp - 0x1134]
call fcn.00407cb0
lea ecx, [ebp - 0x16a4]
mov byte [ebp - 4], 0x2a
call fcn.00407cb0
push 0x5dc6a0
mov edx, edi
lea ecx, [ebp - 0x1164]
call fcn.00420890
add esp, 4
mov ecx, edi
push eax
call fcn.004205c0
lea ecx, [ebp - 0x1164]
call fcn.00407cb0
sub esp, 8
lea eax, [ebp + 0x40]
mov ecx, esp
push eax
mov dword [ecx], 0
mov dword [ecx + 4], 0
call fcn.00429b90
push ebx
lea ecx, [ebp - 0xd2c]
call fcn.0046eff0
add esp, 0xc
mov byte [ebp - 4], 0x34
lea ecx, [ebp - 0xcf8]
push eax
call fcn.0046f0f0
lea ecx, [ebp - 0xcf8]
call fcn.0040b080
lea ecx, [ebp - 0xd2c]
call fcn.0046c480
lea ecx, [ebp - 0xa1c]
call fcn.00407cb0
lea ecx, [ebp - 0xa4c]
call fcn.00407cb0
lea ecx, [ebp - 0xa04]
call fcn.00407cb0
lea ecx, [ebp - 0xa34]
call fcn.00407cb0
lea ecx, [ebp - 0x9ec]
call fcn.00407cb0
lea ecx, [ebp - 0x9d4]
jmp 0x46df10
mov edx, 3
lea ecx, [ebp - 0x11c4]
call fcn.00425df0
mov esi, eax
lea eax, [ebp - 0x1794]
mov byte [ebp - 4], 0x35
push eax
call fcn.0046e1e0
push eax
mov edx, edi
mov byte [ebp - 4], 0x36
lea ecx, [ebp - 0x1194]
call fcn.00433ed0
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 0x37
lea ecx, [ebp - 0x14f4]
call fcn.0041ba80
add esp, 4
mov ecx, edi
push eax
call fcn.004205c0
lea ecx, [ebp - 0x14f4]
call fcn.00407cb0
lea ecx, [ebp - 0x1194]
call fcn.00407cb0
lea ecx, [ebp - 0x1794]
call fcn.00407cb0
lea ecx, [ebp - 0x11c4]
mov byte [ebp - 4], 0xe
call fcn.00407cb0
lea eax, [ebp - 0x16d4]
push eax
call fcn.0046e290
push eax
mov edx, edi
mov byte [ebp - 4], 0x38
lea ecx, [ebp - 0xd44]
call fcn.00433ed0
add esp, 4
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x39
push ecx
mov edx, eax
lea ecx, [ebp - 0x1524]
call fcn.00420980
add esp, 4
mov ecx, edi
push eax
call fcn.004205c0
lea ecx, [ebp - 0x1524]
call fcn.00407cb0
lea ecx, [ebp - 0xd44]
call fcn.00407cb0
lea ecx, [ebp - 0x16d4]
mov byte [ebp - 4], 0xe
call fcn.00407cb0
lea ecx, [ebp - 0x1224]
lea esi, [ebp - 0x9a4]
call fcn.00452000
mov byte [ebp - 4], 0x3a
cmp dword [eax + 0x14], 0x10
jb 0x46d43c
mov eax, dword [eax]
sub esp, 0x18
mov ecx, esp
push eax
call fcn.00407be0
mov ecx, esi
call fcn.0047e340
add esp, 0x18
mov byte [ebp - 4], 0xe
lea ecx, [ebp - 0x1224]
call fcn.00407cb0
lea eax, [ebp - 0x1854]
push eax
call fcn.0046e360
push eax
mov edx, edi
mov byte [ebp - 4], 0x3b
lea ecx, [ebp - 0x1254]
call fcn.00433ed0
add esp, 4
lea ecx, [ebp - 0x9a4]
mov byte [ebp - 4], 0x3c
push ecx
mov edx, eax
lea ecx, [ebp - 0x1554]
call fcn.00420980
add esp, 4
mov ecx, edi
push eax
call fcn.004205c0
lea ecx, [ebp - 0x1554]
call fcn.00407cb0
lea ecx, [ebp - 0x1254]
call fcn.00407cb0
lea ecx, [ebp - 0x1854]
mov byte [ebp - 4], 0xe
call fcn.00407cb0
lea eax, [ebp - 0x410]
push eax
lea ecx, [ebp - 0x1704]
call fcn.00407be0
mov esi, eax
lea eax, [ebp - 0x12b4]
mov byte [ebp - 4], 0x3d
push eax
call fcn.0046eb70
push eax
mov edx, edi
mov byte [ebp - 4], 0x3e
lea ecx, [ebp - 0x1584]
call fcn.00433ed0
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 0x3f
lea ecx, [ebp - 0x1284]
call fcn.0041ba80
add esp, 4
mov ecx, edi
push eax
call fcn.004205c0
lea ecx, [ebp - 0x1284]
call fcn.00407cb0
lea ecx, [ebp - 0x1584]
call fcn.00407cb0
lea ecx, [ebp - 0x12b4]
call fcn.00407cb0
lea ecx, [ebp - 0x1704]
mov byte [ebp - 4], 0xe
call fcn.00407cb0
push 0x5dc6a0
mov edx, edi
lea ecx, [ebp - 0x12e4]
call fcn.00420890
add esp, 4
mov ecx, edi
push eax
call fcn.004205c0
lea ecx, [ebp - 0x12e4]
jmp 0x46df10
mov edx, 4
lea ecx, [ebp - 0xdec]
call fcn.00425df0
mov esi, eax
lea eax, [ebp - 0xdbc]
mov byte [ebp - 4], 0x40
push eax
call fcn.0046e1e0
push eax
mov edx, edi
mov byte [ebp - 4], 0x41
lea ecx, [ebp - 0xd8c]
call fcn.00433ed0
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 0x42
lea ecx, [ebp - 0xd5c]
call fcn.0041ba80
add esp, 4
mov ecx, edi
push eax
call fcn.004205c0
lea ecx, [ebp - 0xd5c]
call fcn.00407cb0
lea ecx, [ebp - 0xd8c]
call fcn.00407cb0
lea ecx, [ebp - 0xdbc]
call fcn.00407cb0
lea ecx, [ebp - 0xdec]
mov byte [ebp - 4], 0xe
call fcn.00407cb0
lea eax, [ebp - 0xe7c]
push eax
call fcn.0046e290
push eax
mov edx, edi
mov byte [ebp - 4], 0x43
lea ecx, [ebp - 0xe4c]
call fcn.00433ed0
add esp, 4
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x44
push ecx
mov edx, eax
lea ecx, [ebp - 0xe1c]
call fcn.00420980
add esp, 4
mov ecx, edi
push eax
call fcn.004205c0
lea ecx, [ebp - 0xe1c]
call fcn.00407cb0
lea ecx, [ebp - 0xe4c]
call fcn.00407cb0
lea ecx, [ebp - 0xe7c]
mov byte [ebp - 4], 0xe
call fcn.00407cb0
lea eax, [ebp - 0xedc]
push eax
call fcn.0046e730
push eax
mov edx, edi
mov byte [ebp - 4], 0x45
lea ecx, [ebp - 0xeac]
call fcn.00433ed0
add esp, 4
mov ecx, edi
push eax
call fcn.004205c0
lea ecx, [ebp - 0xeac]
call fcn.00407cb0
lea ecx, [ebp - 0xedc]
mov byte [ebp - 4], 0xe
call fcn.00407cb0
push 0x553
lea eax, [ebp - 0x968]
push 0
push eax
call fcn.00540250
add esp, 4
lea eax, [ebp + 0x60]
mov ecx, esp
push eax
mov dword [ecx], 0
mov dword [ecx + 4], 0
call fcn.00429b90
lea eax, [ebp - 0xcfc]
mov edx, 0x553
push eax
lea ecx, [ebp - 0x968]
call fcn.004883a0
add esp, 0xc
lea eax, [ebp - 0x968]
lea ecx, [ebp - 0xf3c]
push eax
call fcn.00407be0
push eax
mov edx, edi
mov byte [ebp - 4], 0x46
lea ecx, [ebp - 0xf0c]
call fcn.00433ed0
add esp, 4
mov ecx, edi
push eax
call fcn.004205c0
lea ecx, [ebp - 0xf0c]
call fcn.00407cb0
lea ecx, [ebp - 0xf3c]
mov byte [ebp - 4], 0xe
call fcn.00407cb0
lea ecx, [ebp - 0xf6c]
call fcn.00487b00
push eax
lea ecx, [ebp - 0x98c]
call fcn.004205c0
lea ecx, [ebp - 0xf6c]
call fcn.00407cb0
mov eax, dword [ebp - 0x97c]
test eax, eax
je 0x46d7d8
cmp eax, 0x104
jae 0x46d7d8
lea eax, [ebp - 0xffc]
push eax
call fcn.0046e7e0
push eax
mov edx, edi
mov byte [ebp - 4], 0x47
lea ecx, [ebp - 0xfcc]
call fcn.00433ed0
add esp, 4
mov byte [ebp - 4], 0x48
lea ecx, [ebp - 0x98c]
cmp dword [ebp - 0x978], 0x10
mov edx, eax
cmovae ecx, dword [ebp - 0x98c]
push ecx
lea ecx, [ebp - 0xf9c]
call fcn.00408ab0
add esp, 4
mov ecx, edi
push eax
call fcn.004205c0
lea ecx, [ebp - 0xf9c]
call fcn.00407cb0
lea ecx, [ebp - 0xfcc]
call fcn.00407cb0
lea ecx, [ebp - 0xffc]
jmp 0x46d812
lea eax, [ebp - 0x105c]
push eax
call fcn.0046e890
push eax
mov edx, edi
mov byte [ebp - 4], 0x49
lea ecx, [ebp - 0x102c]
call fcn.00433ed0
add esp, 4
mov ecx, edi
push eax
call fcn.004205c0
lea ecx, [ebp - 0x102c]
call fcn.00407cb0
lea ecx, [ebp - 0x105c]
mov byte [ebp - 4], 0xe
call fcn.00407cb0
lea eax, [ebp - 0x410]
push eax
lea ecx, [ebp - 0x111c]
call fcn.00407be0
mov esi, eax
lea eax, [ebp - 0x10ec]
mov byte [ebp - 4], 0x4a
push eax
call fcn.0046eb70
push eax
mov edx, edi
mov byte [ebp - 4], 0x4b
lea ecx, [ebp - 0x10bc]
call fcn.00433ed0
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 0x4c
lea ecx, [ebp - 0x108c]
call fcn.0041ba80
add esp, 4
mov ecx, edi
push eax
call fcn.004205c0
lea ecx, [ebp - 0x108c]
call fcn.00407cb0
lea ecx, [ebp - 0x10bc]
call fcn.00407cb0
lea ecx, [ebp - 0x10ec]
call fcn.00407cb0
lea ecx, [ebp - 0x111c]
mov byte [ebp - 4], 0xe
call fcn.00407cb0
push 0x5dc6a0
mov edx, edi
lea ecx, [ebp - 0x114c]
call fcn.00420890
add esp, 4
mov ecx, edi
push eax
call fcn.004205c0
lea ecx, [ebp - 0x114c]
jmp 0x46df10
mov ecx, dword [ebp + 0x58]
lea eax, [ebp + 0x10]
push eax
lea eax, [ebp - 0xcf0]
push eax
call fcn.0043da00
mov edx, 5
lea ecx, [ebp - 0x120c]
call fcn.00425df0
mov esi, eax
lea eax, [ebp - 0x11dc]
mov byte [ebp - 4], 0x4d
push eax
call fcn.0046e1e0
push eax
mov edx, edi
mov byte [ebp - 4], 0x4e
lea ecx, [ebp - 0x11ac]
call fcn.00433ed0
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 0x4f
lea ecx, [ebp - 0x117c]
call fcn.0041ba80
add esp, 4
mov ecx, edi
push eax
call fcn.004205c0
lea ecx, [ebp - 0x117c]
call fcn.00407cb0
lea ecx, [ebp - 0x11ac]
call fcn.00407cb0
lea ecx, [ebp - 0x11dc]
call fcn.00407cb0
lea ecx, [ebp - 0x120c]
mov byte [ebp - 4], 0xe
call fcn.00407cb0
lea eax, [ebp - 0x129c]
push eax
call fcn.0046e290
push eax
mov edx, edi
mov byte [ebp - 4], 0x50
lea ecx, [ebp - 0x126c]
call fcn.00433ed0
add esp, 4
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x51
push ecx
mov edx, eax
lea ecx, [ebp - 0x123c]
call fcn.00420980
add esp, 4
mov ecx, edi
push eax
call fcn.004205c0
lea ecx, [ebp - 0x123c]
call fcn.00407cb0
lea ecx, [ebp - 0x126c]
call fcn.00407cb0
lea ecx, [ebp - 0x129c]
mov byte [ebp - 4], 0xe
call fcn.00407cb0
lea eax, [ebp - 0x132c]
push eax
call fcn.0046e410
push eax
mov edx, edi
mov byte [ebp - 4], 0x52
lea ecx, [ebp - 0x12fc]
call fcn.00433ed0
add esp, 4
mov byte [ebp - 4], 0x53
lea ecx, [ebp - 0xcdb]
mov edx, eax
push ecx
lea ecx, [ebp - 0x12cc]
call fcn.00408ab0
add esp, 4
mov ecx, edi
push eax
call fcn.004205c0
lea ecx, [ebp - 0x12cc]
call fcn.00407cb0
lea ecx, [ebp - 0x12fc]
call fcn.00407cb0
lea ecx, [ebp - 0x132c]
mov byte [ebp - 4], 0xe
call fcn.00407cb0
lea eax, [ebp - 0x13bc]
push eax
call fcn.0046e4e0
push eax
mov edx, edi
mov byte [ebp - 4], 0x54
lea ecx, [ebp - 0x138c]
call fcn.00433ed0
add esp, 4
lea ecx, [ebp - 0xc9a]
mov byte [ebp - 4], 0x55
push ecx
mov edx, eax
lea ecx, [ebp - 0x135c]
call fcn.00408ab0
add esp, 4
mov ecx, edi
push eax
call fcn.004205c0
lea ecx, [ebp - 0x135c]
call fcn.00407cb0
lea ecx, [ebp - 0x138c]
call fcn.00407cb0
lea ecx, [ebp - 0x13bc]
mov byte [ebp - 4], 0xe
call fcn.00407cb0
lea eax, [ebp - 0x144c]
push eax
call fcn.0046e5b0
push eax
mov edx, edi
mov byte [ebp - 4], 0x56
lea ecx, [ebp - 0x141c]
call fcn.00433ed0
add esp, 4
lea ecx, [ebp - 0xcf0]
mov byte [ebp - 4], 0x57
push ecx
mov edx, eax
lea ecx, [ebp - 0x13ec]
call fcn.00408ab0
add esp, 4
mov ecx, edi
push eax
call fcn.004205c0
lea ecx, [ebp - 0x13ec]
call fcn.00407cb0
lea ecx, [ebp - 0x141c]
call fcn.00407cb0
lea ecx, [ebp - 0x144c]
mov byte [ebp - 4], 0xe
call fcn.00407cb0
lea eax, [ebp - 0x410]
push eax
lea ecx, [ebp - 0x150c]
call fcn.00407be0
mov esi, eax
lea eax, [ebp - 0x14dc]
mov byte [ebp - 4], 0x58
push eax
call fcn.0046eb70
push eax
mov edx, edi
mov byte [ebp - 4], 0x59
lea ecx, [ebp - 0x14ac]
call fcn.00433ed0
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 0x5a
lea ecx, [ebp - 0x147c]
call fcn.0041ba80
add esp, 4
mov ecx, edi
push eax
call fcn.004205c0
lea ecx, [ebp - 0x147c]
call fcn.00407cb0
lea ecx, [ebp - 0x14ac]
call fcn.00407cb0
lea ecx, [ebp - 0x14dc]
call fcn.00407cb0
lea ecx, [ebp - 0x150c]
mov byte [ebp - 4], 0xe
call fcn.00407cb0
push 0x5dc6a0
mov edx, edi
lea ecx, [ebp - 0x153c]
call fcn.00420890
add esp, 4
mov ecx, edi
push eax
call fcn.004205c0
lea ecx, [ebp - 0x153c]
jmp 0x46df10
sub esp, 8
lea eax, [ebp + 0x68]
mov ecx, esp
push eax
mov dword [ecx], 0
mov dword [ecx + 4], 0
call fcn.00429b90
mov ecx, dword [ebp + 0x40]
call fcn.004701a0
mov eax, ebx
dec eax
je 0x46dd09
dec eax
je 0x46dc25
dec eax
je 0x46dbf7
test ebx, ebx
je 0x46dd3a
cmp ebx, 1
jne 0x46dd01
jmp 0x46dd2c
sub esp, 8
lea eax, [ebp + 0x58]
mov ecx, esp
push eax
mov dword [ecx], 0
mov dword [ecx + 4], 0
call fcn.00429b90
mov ecx, dword [ebp + 0x40]
call fcn.004701a0
mov eax, dword [ebp + 0x40]
mov byte [eax], 1
jmp 0x46dd32
sub esp, 8
lea eax, [ebp + 0x60]
mov ecx, esp
push eax
mov dword [ecx], 0
mov dword [ecx + 4], 0
call fcn.00429b90
mov ecx, dword [ebp + 0x40]
call fcn.004701a0
sub esp, 8
lea eax, [ebp + 0x50]
mov ecx, esp
push eax
mov dword [ecx], 0
mov dword [ecx + 4], 0
call fcn.00429b90
mov ecx, dword [ebp + 0x40]
call fcn.004701a0
sub esp, 8
lea eax, [ebp + 0x58]
mov ecx, esp
push eax
mov dword [ecx], 0
mov dword [ecx + 4], 0
call fcn.00429b90
mov ecx, dword [ebp + 0x40]
call fcn.004701a0
call fcn.00425ba2
cmp eax, 7
jl 0x46dcde
sub esp, 8
lea eax, [ebp + 0x70]
mov ecx, esp
push eax
mov dword [ecx], 0
mov dword [ecx + 4], 0
call fcn.00429b90
mov ecx, dword [ebp + 0x40]
call fcn.004701a0
sub esp, 8
lea eax, [ebp + 0x78]
mov ecx, esp
push eax
mov dword [ecx], 0
mov dword [ecx + 4], 0
call fcn.00429b90
mov ecx, dword [ebp + 0x40]
call fcn.004701a0
sub esp, 8
lea eax, [ebp + 0x48]
mov ecx, esp
push eax
mov dword [ecx], 0
mov dword [ecx + 4], 0
call fcn.00429b90
mov ecx, dword [ebp + 0x40]
call fcn.004701a0
mov eax, dword [ebp + 0x40]
mov byte [eax], 1
jmp 0x46dd32
sub esp, 8
lea eax, [ebp + 0x60]
mov ecx, esp
push eax
mov dword [ecx], 0
mov dword [ecx + 4], 0
call fcn.00429b90
mov ecx, dword [ebp + 0x40]
call fcn.004701a0
mov eax, dword [ebp + 0x40]
mov byte [eax], 0
mov ecx, dword [ebp + 0x40]
call fcn.00470310
mov edx, 6
lea ecx, [ebp - 0x15fc]
call fcn.00425df0
mov esi, eax
lea eax, [ebp - 0x15cc]
mov byte [ebp - 4], 0x5b
push eax
call fcn.0046e1e0
push eax
mov edx, edi
mov byte [ebp - 4], 0x5c
lea ecx, [ebp - 0x159c]
call fcn.00433ed0
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 0x5d
lea ecx, [ebp - 0x156c]
call fcn.0041ba80
add esp, 4
mov ecx, edi
push eax
call fcn.004205c0
lea ecx, [ebp - 0x156c]
call fcn.00407cb0
lea ecx, [ebp - 0x159c]
call fcn.00407cb0
lea ecx, [ebp - 0x15cc]
call fcn.00407cb0
lea ecx, [ebp - 0x15fc]
mov byte [ebp - 4], 0xe
call fcn.00407cb0
lea eax, [ebp - 0x168c]
push eax
call fcn.0046e290
push eax
mov edx, edi
mov byte [ebp - 4], 0x5e
lea ecx, [ebp - 0x165c]
call fcn.00433ed0
add esp, 4
lea ecx, [ebp + 0x10]
mov byte [ebp - 4], 0x5f
push ecx
mov edx, eax
lea ecx, [ebp - 0x162c]
call fcn.00420980
add esp, 4
mov ecx, edi
push eax
call fcn.004205c0
lea ecx, [ebp - 0x162c]
call fcn.00407cb0
lea ecx, [ebp - 0x165c]
call fcn.00407cb0
lea ecx, [ebp - 0x168c]
mov byte [ebp - 4], 0xe
call fcn.00407cb0
lea eax, [ebp - 0x16ec]
push eax
call fcn.0046ec40
push eax
mov edx, edi
mov byte [ebp - 4], 0x60
lea ecx, [ebp - 0x16bc]
call fcn.00433ed0
add esp, 4
mov ecx, edi
push eax
call fcn.004205c0
lea ecx, [ebp - 0x16bc]
call fcn.00407cb0
lea ecx, [ebp - 0x16ec]
mov byte [ebp - 4], 0xe
call fcn.00407cb0
lea eax, [ebp - 0x410]
push eax
lea ecx, [ebp - 0x17ac]
call fcn.00407be0
mov esi, eax
lea eax, [ebp - 0x177c]
mov byte [ebp - 4], 0x61
push eax
call fcn.0046eb70
push eax
mov edx, edi
mov byte [ebp - 4], 0x62
lea ecx, [ebp - 0x174c]
call fcn.00433ed0
add esp, 4
push esi
mov edx, eax
mov byte [ebp - 4], 0x63
lea ecx, [ebp - 0x171c]
call fcn.0041ba80
add esp, 4
mov ecx, edi
push eax
call fcn.004205c0
lea ecx, [ebp - 0x171c]
call fcn.00407cb0
lea ecx, [ebp - 0x174c]
call fcn.00407cb0
lea ecx, [ebp - 0x177c]
call fcn.00407cb0
lea ecx, [ebp - 0x17ac]
mov byte [ebp - 4], 0xe
call fcn.00407cb0
push 0x5dc6a0
mov edx, edi
lea ecx, [ebp - 0x17dc]
call fcn.00420890
add esp, 4
mov ecx, edi
push eax
call fcn.004205c0
lea ecx, [ebp - 0x17dc]
call fcn.00407cb0
cmp dword [ebp - 0x9a8], 0x10
jb 0x46df2c
push dword [ebp - 0x9bc]
call fcn.0053e195
add esp, 4
mov eax, dword [ebp - 0x974]
mov dword [ebp - 0x9a8], 0xf
mov dword [ebp - 0x9ac], 0
mov byte [ebp - 0x9bc], 0
test eax, eax
je 0x46df89
push dword [ebp - 0x970]
push eax
call fcn.00428ce0
push dword [ebp - 0x974]
call fcn.0053e195
add esp, 4
mov dword [ebp - 0x974], 0
mov dword [ebp - 0x970], 0
mov dword [ebp - 0x96c], 0
cmp dword [ebp - 0x990], 0x10
jb 0x46dfa0
push dword [ebp - 0x9a4]
call fcn.0053e195
add esp, 4
cmp dword [ebp - 0x978], 0x10
mov dword [ebp - 0x990], 0xf
mov dword [ebp - 0x994], 0
mov byte [ebp - 0x9a4], 0
jb 0x46dfd2
push dword [ebp - 0x98c]
call fcn.0053e195
add esp, 4
cmp dword [ebp + 0x24], 0x10
mov dword [ebp - 0x978], 0xf
mov dword [ebp - 0x97c], 0
mov byte [ebp - 0x98c], 0
jb 0x46dffe
push dword [ebp + 0x10]
call fcn.0053e195
add esp, 4
cmp dword [ebp + 0x3c], 0x10
mov dword [ebp + 0x24], 0xf
mov dword [ebp + 0x20], 0
mov byte [ebp + 0x10], 0
jb 0x46e021
push dword [ebp + 0x28]
call fcn.0053e195
add esp, 4
mov byte [ebp - 4], 7
or esi, 0xffffffff
mov ebx, dword [ebp + 0x44]
mov dword [ebp + 0x3c], 0xf
mov dword [ebp + 0x38], 0
mov byte [ebp + 0x28], 0
test ebx, ebx
je 0x46e064
lea eax, [ebx + 4]
mov ecx, esi
lock xadd dword [eax], ecx
jne 0x46e064
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax]
lea eax, [ebx + 8]
mov edx, esi
lock xadd dword [eax], edx
jne 0x46e064
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
mov byte [ebp - 4], 6
mov ebx, dword [ebp + 0x4c]
test ebx, ebx
je 0x46e092
lea eax, [ebx + 4]
mov ecx, esi
lock xadd dword [eax], ecx
jne 0x46e092
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax]
lea eax, [ebx + 8]
mov edx, esi
lock xadd dword [eax], edx
jne 0x46e092
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
mov byte [ebp - 4], 5
mov ebx, dword [ebp + 0x54]
test ebx, ebx
je 0x46e0c0
lea eax, [ebx + 4]
mov ecx, esi
lock xadd dword [eax], ecx
jne 0x46e0c0
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax]
lea eax, [ebx + 8]
mov edx, esi
lock xadd dword [eax], edx
jne 0x46e0c0
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
mov byte [ebp - 4], 4
mov ebx, dword [ebp + 0x5c]
test ebx, ebx
je 0x46e0ee
lea eax, [ebx + 4]
mov ecx, esi
lock xadd dword [eax], ecx
jne 0x46e0ee
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax]
lea eax, [ebx + 8]
mov edx, esi
lock xadd dword [eax], edx
jne 0x46e0ee
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
mov byte [ebp - 4], 3
mov ebx, dword [ebp + 0x64]
test ebx, ebx
je 0x46e11c
lea eax, [ebx + 4]
mov ecx, esi
lock xadd dword [eax], ecx
jne 0x46e11c
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax]
lea eax, [ebx + 8]
mov edx, esi
lock xadd dword [eax], edx
jne 0x46e11c
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
mov byte [ebp - 4], 2
mov ebx, dword [ebp + 0x6c]
test ebx, ebx
je 0x46e14a
lea eax, [ebx + 4]
mov ecx, esi
lock xadd dword [eax], ecx
jne 0x46e14a
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax]
lea eax, [ebx + 8]
mov edx, esi
lock xadd dword [eax], edx
jne 0x46e14a
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
mov byte [ebp - 4], 1
mov ebx, dword [ebp + 0x74]
test ebx, ebx
je 0x46e178
lea eax, [ebx + 4]
mov ecx, esi
lock xadd dword [eax], ecx
jne 0x46e178
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax]
lea eax, [ebx + 8]
mov edx, esi
lock xadd dword [eax], edx
jne 0x46e178
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax + 4]
mov byte [ebp - 4], 0
mov ebx, dword [ebp + 0x7c]
test ebx, ebx
je 0x46e1a5
lea eax, [ebx + 4]
mov ecx, esi
lock xadd dword [eax], ecx
jne 0x46e1a5
mov eax, dword [ebx]
mov ecx, ebx
call dword [eax]
lea edx, [ebx + 8]
lock xadd dword [edx], esi
dec esi
jne 0x46e1a5
mov edx, dword [ebx]
mov ecx, ebx
call dword [edx + 4]
mov eax, edi
mov ecx, dword [ebp - 0xc]
mov dword fs:[0], ecx
pop ecx
pop edi
pop esi
pop ebx
mov ecx, dword [ebp - 0x10]
xor ecx, ebp
call fcn.0053cd12
mov esp, ebp
pop ebp
ret